Échec de la vérification au moment de l’exécution # 0: Pourquoi ai-je ce message et que signifie-t-il?

Dans mon programme (c‘est pour un devoir), je charge un modèle qui est un tas de sumts et de normales, etc. dans une structure que j’ai. Lors de son dessin, je passe le modèle à une fonction void drawModel(Model model) . Cela me donne cette erreur:

 Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention. 

Je cherchais autour de moi, et l’une des réponses semblait être que c’était parce que ce que je transmettais était trop volumineux et que ça dérangeait le compilateur. J’ai donc essayé de le changer pour que la fonction drawModel accepte un pointeur sur la structure (ce que j’aurais dû faire pour commencer …), mais dès que j’y accède dans la fonction, l’erreur se produit.

Comment puis-je contourner cela? Et pourquoi cela se passe-t-il?

Voici la fonction entière

 void drawModel(Model * model) { int i, g; //i is the main iterator, g keeps track of what part we're on int edge; //The current edge we're on g = 0; for(i = 0; i faceCount); i++) //This is just to test why it's occuring { } glEnableClientState(GL_VERTEX_ARRAY); glVertexPointer(3, GL_FLOAT, 0, model->vertices); glEnableClientState(GL_NORMAL_ARRAY); glNormalPointer(3, GL_FLOAT, 0, model->normals); for(i = 0; i faceCount); i++) //Right here is where i get the error { if(i == model->parts[g]) { //Set colour to the part colour g++; } glDrawElements(GL_POLYGON, model->faces[i].edges, GL_UNSIGNED_BYTE, model->faces[i].edge); } } 

Remarque: je n’ai jamais utilisé de tableaux de sumts GL auparavant, c’est ma première tentative.

J’appelais drawModel comme suit: drawModel(&plane);

Le problème était

 glNormalPointer(3, GL_FLOAT, 0, model->normals); 

Il aurait dû lire

 glNormalPointer(GL_FLOAT, 0, model->normals);