Bonjour,
pour être sûr que l'espace mémoire de mes tableaux soient bien supprimés quel que soit le moment de la sortie de mon programme, j'ai écrit ceci :
Je me suis dit que ça marchait plutôt pas mal, jsuqu'à utiliser mes tableaux en deux dimensions :
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 #ifndef SCOPEDARRAY_HPP_INCLUDED #define SCOPEDARRAY_HPP_INCLUDED template<typename T> class scoped_array { public: scoped_array(size_t size1, size_t size2) { array_ = new T[size1][size2]; }; scoped_array(size_t size) { array_ = new T[size]; }; ~scoped_array() { delete[] array_; }; operator T*() { return array_; }; private: T* array_; }; #endif // __SCOPEDARRAY_H
La première ligne fonctionne, c'est à dire qu'à l'utilisation, pas de problème
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 scoped_array<int> alarmes(5); scoped_array<int> mesures_brutes(5,100);
La deuxième me dit ceci à l'utilisation :
"error C2109: subscript requires array or pointer type"
Mais que fais-je (encore) de mal ?
Merci pour vos réponses
Partager