katmai | Salut à tous,
J'ai un problème avec un pointeur qui me rend fou !
En fait j'ai une fonction qui me crée un tableau dynamique pointé par le pointeur.
L'appel de la fonction ne crée pas de problème mais lorsque je veux accéder aux données du tableau après l'appel j'ai le droit à une erreur de segmentation.
Autre chose lorsque je met les deux fonctions dans le même fichier je n'ai pas l'erreur de segmentation et tout se passe bien.
J'utilise le compilateur g++.
graph.h :
Code :
- void LoadExample(GLfloat *curVertexArray);
|
graph.cpp :
Code :
- void LoadExample(GLfloat *curVertexArray)
- {
- curVertexArray = new GLfloat[6];
- curVertexArray[0] = 0;
- curVertexArray[1] = 0;
- curVertexArray[2] = 0;
- curVertexArray[3] = 1;
- curVertexArray[4] = 1;
- curVertexArray[5] = 1;
- }
|
main.cpp:
Code :
- #include"graph.h"
- GLfloat *Vertex;
- void InitGL(int Width, int Height)
- {
- int i;
- glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
- glClearDepth(1.0);
- glDepthFunc(GL_LESS);
- glEnable(GL_DEPTH_TEST);
- glShadeModel(GL_SMOOTH);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluPerspective(45.0f,(GLfloat)Width/(GLfloat)Height,0.1f,100.0f);
- glMatrixMode(GL_MODELVIEW);
- BuildFont();
- InitConsole();
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- glEnableClientState(GL_VERTEX_ARRAY);
- LoadExample(Vertex);
- glVertexPointer(3,GL_FLOAT,0,Vertex);
- for (i=0;i<6;i++)
- {
- printf("Vertex[%d]=%f\n",i,Vertex[i]); //erreur de segmentation ici.
- }
- }
|
Quelqu'un as une idée d'où vient le problème problème?
Merci d'avance pour vos réponses.
A++ |