J'ai un problème, normalement je comprendrais pourquoi cela se produit, je n'ai pas déclaré la fonction dans la méthode principale. Mais la classe elle-même inclut le fichier .h, qui a le prototype de cette méthode, donc je suis un peu perdu sur pourquoi il n'est pas dans le cadre de la fonction principale.Fonction non trouvée dans la portée de la principale
using namespace std;
#include "Solar.h"
int main(){
initializeGL();
Stars *Alpha = new Stars(5.0);
Planets *Awe = new Planets(.6,2,30,"Awe",0.0,0.0,0.0);
paintGL();
return 0;
}
void Solar::initializeGL(){
glShadeModel(GL_SMOOTH);
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClearDepth(1.0f);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glHint(GL_PERSPECTIV
....
}
Il y a aussi une paintGL fonction() plus tard, et voici le fichier d'en-tête
class Solar {
public:
void initializeGL();
void resizeGL(int width, int height);
void paintGL();
.....
private:
.....
};
Je ne suis pas le mieux avec C++, donc Anyhelp sera apprécié.
et voici l'erreur
Solar.cpp:4: error: declaration of âvoid Solar::initializeGL()â outside of class is not definition
Solar.cpp:5: error: declaration of âvoid Solar::paintGL()â outside of class is not definition
Solar.cpp: In function âint main()â:
Solar.cpp:8: error: âinitializeGLâ was not declared in this scope
Solar.cpp:11: error: âpaintGLâ was not declared in this scope
Quel est le message d'erreur et sur quelle fonction se plaint-il? –