Je souhaite déclarer et initialiser un tableau d'éléments gérés 1D.Initialisation de tableau dans C++ géré
Si c'était le code C#, je l'écrire comme ceci:
VdbMethodInfo[] methods = new VdbMethodInfo[] {
new VdbMethodInfo("Method1"),
new VdbMethodInfo("Method2")
};
Je suis en train d'écrire (bien, en fait, j'écris un programme engendrons) la même chose en C++ géré .. .
jusqu'à présent, j'ai:
typedef array<VdbMethodInfo^, 1> MethodArray;
// How do I avoid pre-declaring the size of the array up front?
MethodArray^ methods = gcnew MethodArray(2);
methods[0] = gcnew VdbMethodInfo("Method1");
methods[1] = gcnew VdbMethodInfo("Method2");
Il y a deux problèmes avec ceci:
- Il est plus bavard
- Il me demande de déclarer la taille du tableau à l'avant, ce qui est gênant pour mon générateur de code
Y at-il une syntaxe « initialisation tableau » pour les tableaux de GC en C++ géré? Quelle est la syntaxe correcte? Y a-t-il un bon lien Web pour ceci et d'autres questions semblables?
merci - exactement ce que je cherchais! –
Le décompilateur C++/CLI du réflecteur manquait le type gcnew et le type de tableau dans la déclaration pour une raison quelconque. Ajoutant cela a corrigé le problème. Merci. http://www.sandpapersoftware.com/Main/Reflector.html – jpierson