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 :En fait, le programme plante sans donner d'explication dans la fenetre de debogage. Il y a seulement une console qui s'ouvre avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
Debug Error!
Program: a\Deskop\Projects...
R6010 has been called
(Press Retry to debug the application)
et si je fais retry, je tombe sur :
essai_C++.exe has triggered a breakpoint
et le fichier ouvre sur : crt0msg.c situé dans
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
Partager