OVH Cloud OVH Cloud

Erreur de compilation

3 réponses
Avatar
Olivier
Bonjour

Lors de la compilation d'un programme g une erreur que je ne comprend pas.
Dans mon fichier SiteMapView.h g le code suivant :

#include "SiteMapDoc.h"
...
...
// Attributes
public:
CSiteMapDoc* GetDocument();

et les erreurs suivantes sur la derniere ligne :

sitemapview.h(22) : error C2143: syntax error : missing ';' before '*'
sitemapview.h(22) : error C2501: 'CSiteMapDoc' : missing storage-class or
type specifiers
sitemapview.h(22) : error C2501: 'GetDocument' : missing storage-class or
type specifiers

La compilation fonctionnait bien avant une modif sur un fichier...
Je n'arrive pas à trouver la solution...

Cordialement,

Olivier

3 réponses

Avatar
Vincent Burel
"Olivier" wrote in message
news:42716cec$0$26069$
Bonjour

Lors de la compilation d'un programme g une erreur que je ne comprend pas.
Dans mon fichier SiteMapView.h g le code suivant :

sitemapview.h(22) : error C2143: syntax error : missing ';' before '*'

La compilation fonctionnait bien avant une modif sur un fichier...



la compilation fonctionne toujours bien avant, c'est la problèmatique
universelle de la programmation ! :-)

vérifiez vos header (h, hpp file), notamment que vous n'avez pas oublier de
";" en fin de ligne quand c'est nécessaire.

VB
Avatar
Arnaud Debaene
Olivier wrote:
Bonjour

Lors de la compilation d'un programme g une erreur que je ne comprend
pas. Dans mon fichier SiteMapView.h g le code suivant :

#include "SiteMapDoc.h"
...
...
// Attributes
public:
CSiteMapDoc* GetDocument();

et les erreurs suivantes sur la derniere ligne :

sitemapview.h(22) : error C2143: syntax error : missing ';' before '*'
sitemapview.h(22) : error C2501: 'CSiteMapDoc' : missing
storage-class or type specifiers
sitemapview.h(22) : error C2501: 'GetDocument' : missing
storage-class or type specifiers



Le compilateur ne connait pas le type CSiteMapDoc au moment où il parse
cette ligne.
soit ajoutes le header qui définit cette classe en haut de ton header, soit
(préférable) fait une pré-déclaration de cette classe avant ta classe
CSiteMapView.

Arnaud
Avatar
Olivier
Salut

Merci pour ta réponse...

G enlevé #include "SiteMapDoc.h" du fichier SiteMapView.h pour le mettre
dans SiteMapView.cpp et là plus de problemes...

Cordialement,

Olivier

"Arnaud Debaene" a écrit dans le message de
news:427204d6$0$10945$
Olivier wrote:
> Bonjour
>
> Lors de la compilation d'un programme g une erreur que je ne comprend
> pas. Dans mon fichier SiteMapView.h g le code suivant :
>
> #include "SiteMapDoc.h"
> ...
> ...
> // Attributes
> public:
> CSiteMapDoc* GetDocument();
>
> et les erreurs suivantes sur la derniere ligne :
>
> sitemapview.h(22) : error C2143: syntax error : missing ';' before '*'
> sitemapview.h(22) : error C2501: 'CSiteMapDoc' : missing
> storage-class or type specifiers
> sitemapview.h(22) : error C2501: 'GetDocument' : missing
> storage-class or type specifiers

Le compilateur ne connait pas le type CSiteMapDoc au moment où il parse
cette ligne.
soit ajoutes le header qui définit cette classe en haut de ton header,


soit
(préférable) fait une pré-déclaration de cette classe avant ta classe
CSiteMapView.

Arnaud