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 : 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
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
 
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