de taille variable objet ne peut pas être initialisé c++

Je comprends que cette question a été posée avant, mais je ne comprends pas pourquoi il ne fonctionne pas dans mon cas

void calc(vector<char> zodis1, vector<char> zodis2, vector<char> zodisAts,int zo1,int zo2,int zoA)
{
   int i,u=0;

   int zod1[zo1]=0;
   int zod2[zo2]=0;
   int zodA[zoA]=0; 
}

Tous les 3 de zod1, zod2, zoA me donne l'erreur: variable-sized object may not be initialized c++
Mais le compilateur doit connaître le sens de la zo avant l'initialisation de la cause cout<<zo1; œuvres et imprimez le sens

Ainsi quel est le problème?

Pour être clair: dans la norme C++ int zod1[zo1]; n'est pas autorisée. Cependant, de nombreux compilateurs offrent que comme une extension. À en juger par votre compilateur de message d'erreur, il a une extension pour permettre int zod1[zo1]; mais pas une extension pour permettre la fourniture de la =0;.

OriginalL'auteur user3102621 | 2014-05-20