Je souhaite créer un tableau dynamique de foo, le nombre d'éléments étant x. Les arguments y et z doivent être passés au constructeur de l'objet foo. J'espérais faire quelque chose de similaire à:Initialisation de tableau dynamique
Foo* bar = new Foo(y, z)[x];
Cependant qui a produit l'erreur du compilateur suivant:
error: expected `;' before '[' token
Alors après avoir parlé avec un ami expérimenté, il m'a donné ce qu'il a admis était un paresseux manière de le faire, mais cela fonctionne. Je me demandais, y a-t-il une meilleure/bonne façon?
Foo* bar = (Foo*) new int[x];
for (int i = 0; i < x; i++) {
bar[i] = Foo(y, z);
}
Vous et votre ami devriez obtenir un [bon livre] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) pour avoir une bonne base de compréhension. Je veux dire que le deuxième bloc de code est juste faux, pourquoi allouer 'int' et ensuite lancer' foo'? C'est presque certainement un comportement indéfini. – GManNickG