probleme declaration operateur new - C++ - Programmation
Marsh Posté le 26-04-2004 à 19:03:25
ben ouais, avec un new[], tu peux pas initialiser les éléments. le constructeur par défaut est utilisé.
déjà, utilise un std::vector< Histo<T> >
Marsh Posté le 26-04-2004 à 19:06:55
Je doit etre fatigué,
comment utilise tu ton vector<histo<T>> ?
Marsh Posté le 26-04-2004 à 19:12:45
avec les espaces déjà
comment ? http://www.sgi.com/tech/stl/Vector.html
Marsh Posté le 27-04-2004 à 10:51:27
Le probleme c'est que je peux pas modifier le type par un vector. Ca me ferait reecrire toute la classe.
je dois adapter un projet linux sous windows, et j'ai pas envie de me retaper toutes les classes (environ 25 classes relativement consequente)
si je fait un truc dans le genre
Code :
|
a la place de
Code :
|
c correct ou pas (je peux pas tester pour l'instant.
Marsh Posté le 27-04-2004 à 12:06:05
bon et si je fait un constructeur par defaut et je fait un
Histo<T> *tabhisto;
tabhisto=new Histo<T>[reg_max+1]();
for(int i=0 ; i< reg_max+1 ; i++)
tabhisto[i].set_values(nbc,C1,C2,C3);
et creant une methode set_values.
c'est nettement moins rapide mais ca fonctionnne
Marsh Posté le 26-04-2004 à 19:00:28
Hello
voila je fait ca :
Histo<T> *tabhisto;
tabhisto=new Histo<T>[reg_max+1](nbc,C1,C2,C3);
et visual me sort ca :
error C2075 : 'Target of operator new()' : l'initialisation d'un tableau necessite des accolades ouvrantes.
Je ne comprend cette erreur . quelqu'un peut me dire ?
Message édité par vince_223 le 26-04-2004 à 19:01:39