boost multiArray membre d'une classe
Bonjour,
je souhaite ecrire une classe contenant un tableau boost(multiarray) susceptible d'etre redimensionné lors de l'utilisation dudit l'objet.
voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| typedef boost::multi_array<int, 2> array_type;
typedef array_type::index index;
array_type::extent_gen extents;
class Truc {
public:
Truc ( unsigned int num_elements ) : A( boost::extents[ num_elements ][10] )
{
redimensionner();
}
boost::multi_array<double,2> A;
//int m_n;
//
array_type::extent_gen extents;
void redimensionner(){
A[1][1]=12;
A.resize( extents[4][3] );
}
};
int main()
{
Truc objet1(100);
objet1.A[7][5] = 18;
std::cout << "objet1.A[7][5] = " << objet1.A[7][5] << std::endl;
std::cout << "objet1.A[1][1] = " << objet1.A[1][1] << std::endl;
system("pause");
return 0;
} |
En fait, le programme plante sans donner d'explication dans la fenetre de debogage. Il y a seulement une console qui s'ouvre avec
Citation:
Debug Error!
Program: a\Deskop\Projects...
R6010 has been called
(Press Retry to debug the application)
et si je fais retry, je tombe sur :
Citation:
essai_C++.exe has triggered a breakpoint
et le fichier ouvre sur : crt0msg.c situé dans
Citation:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\crt\src
je bute, mais si qqn a une solution, je suis preneur!
Merci par avance,
Olivier