[Template]Tableau à deux dimensions
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 :
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
|
#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 |
Je me suis dit que ça marchait plutôt pas mal, jsuqu'à utiliser mes tableaux en deux dimensions :
Code:
1 2 3
|
scoped_array<int> alarmes(5);
scoped_array<int> mesures_brutes(5,100); |
La première ligne fonctionne, c'est à dire qu'à l'utilisation, pas de problème
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