A l'aide !

Signaler
Messages postés
354
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
24 mars 2011
-
Messages postés
54
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
2 septembre 2009
-
Salut,

Je suis debutant en c++ et j'ai un probleme de compilation.

e:\program files\microsoft visual studio\vc98\include\excpt.h(36) : warning C4518: 'extern ' : storage-class or type specifier(s) unexpected here; ignored
e:\program files\microsoft visual studio\vc98\include\excpt.h(36) : error C2143: syntax error : missing ';' before 'string'
e:\program files\microsoft visual studio\vc98\include\excpt.h(36) : fatal error C1004: unexpected end of file found
main.cpp
e:\program files\microsoft visual studio\vc98\include\stdio.h(36) : warning C4518: 'extern ' : storage-class or type specifier(s) unexpected here; ignored
e:\program files\microsoft visual studio\vc98\include\stdio.h(36) : error C2143: syntax error : missing ';' before 'string'
e:\program files\microsoft visual studio\vc98\include\stdio.h(36) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

Il y a des erreurs dans stdio.h et excpt.h, fichiers que je ne modifie pas. Ca me fais ces erreurs pour seuleument 2 progs.

Je voudrais savoir ce que ces erreurs signifient.

12 réponses

Messages postés
54
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
2 septembre 2009

Regarde ligne 36 deja...
Et puis il s'agit d' un include donc regarde si tu as bien prototypé ton include ou alors si tu n'as pas oublié un ';', qui sait...
Tu as utilisé un "extern char *" ???
Si c'est le cas, regarde bien comment l'utiliser :))

Si la connaissance peut creer des problemes, ce n'est pas par l'ignorance que l
'on peut les resoudre.
-- Isaac Asimov
Messages postés
354
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
24 mars 2011
1
comment prototype t on un include ?
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
3
Salut,
Regarde a la ligne 36, il te manque un point virgule et surement une acolade ('{' ou '}').
Messages postés
54
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
2 septembre 2009

#include <winreg.h> par exemple...
Mais regarde sur le site de msdn, c'est bien pratique...
Mais je pense que c'est plus un problème de ; ou alors une accolade comme le souligne aardman...

Si la connaissance peut creer des problemes, ce n'est pas par l'ignorance que l
'on peut les resoudre.
-- Isaac Asimov
Messages postés
354
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
24 mars 2011
1
le probleme c que ça fait des erreurs dans les .h de vc++
moi j'ai touché a rien
Messages postés
354
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
24 mars 2011
1
Alors la je comprend pu :

D:\Mes Documents\fabien\C\main.cpp(8) : warning C4518: 'void ' : storage-class or type specifier(s) unexpected here; ignored

ça plante sur le void main() et plus dans les .h
Messages postés
54
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
2 septembre 2009

Balance tes sources que je regarde ou est le pb :))

Si la connaissance peut creer des problemes, ce n'est pas par l'ignorance que l
'on peut les resoudre.
-- Isaac Asimov
Messages postés
354
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
24 mars 2011
1
fonction.cpp :

#include <stdio.h>
#include <string.h>
#include <windows.h>
#include "fonction.h"

char* FichierVersVariable(char* fichier,char* section, char* cle)
{
char* res=new char;
DWORD tmp;

strcpy(res,"");

if(FExiste(fichier))
{
GetPrivateProfileString(section,cle,NULL,res,sizeof(res),fichier);
}

return res;
}

main.cpp

#include <stdio.h>
#include "iostream.h"
#include "stdlib.h"
#include "fonction.h"

void main()
{
printf("%c",FichierVersVariable("c:\\boot.ini","boot loader","timeout"));
}

fonction.h

int FExiste(char* fichier);

char *mid(char *buffer, unsigned int i, unsigned int size);

char* wchartochar(wchar_t *chaine);

char* FichierVersVariable(char* fichier,char* section, char* cle)
Messages postés
354
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
24 mars 2011
1
-------------------------------
Réponse au message :
-------------------------------

> fonction.cpp :
>
>
>
> #include <stdio.h>
> #include <string.h>
> #include <windows.h>
> #include "fonction.h"
>
> char* FichierVersVariable(char* fichier,char* section, char* cle)
> {
> char* res=new char;
> DWORD tmp;
>
> strcpy(res,"");
>
> if(FExiste(fichier))
> {
> GetPrivateProfileString(section,cle,NULL,res,sizeof(res),fichier);
> }
>
> return res;
> }
>
>
>
>
>
> main.cpp
>
> #include <stdio.h>
> #include "iostream.h"
> #include "stdlib.h"
> #include "fonction.h"
>
>
>
> void main()
> {
> printf("%c",FichierVersVariable("c:\\boot.ini","boot loader","timeout"));
> }
>
>
>
> fonction.h
>
>
> int FExiste(char* fichier);
>
> char *mid(char *buffer, unsigned int i, unsigned int size);
>
> char* wchartochar(wchar_t *chaine);
>
> char* FichierVersVariable(char* fichier,char* section, char* cle)
>
Messages postés
54
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
2 septembre 2009

Regarde a la fin de la derniere ligne :))

char* wchartochar(wchar_t *chaine);

char* FichierVersVariable(char* fichier,char* section, char* cle)

il ne manque pas qqchose par rapport a la ligne precedente ?? :))

Si ce n'est pas ca redit le moi...

Si la connaissance peut creer des problemes, ce n'est pas par l'ignorance que l
'on peut les resoudre.
-- Isaac Asimov
Messages postés
354
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
24 mars 2011
1
Tu veux que je te dise :

JE SUIS VERT !!!

Je viens de me faire chier pendant 2h pour un ; !

Merci beaucoup, en tout cas : MERCI

c'est ça le charme du c++ ...
Messages postés
54
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
2 septembre 2009

Au moins tu ne referas pas cette connerie une fois de + :))
Moi aussi c'etait pareil quand j'ai commencé...
Bon code :)

Si la connaissance peut creer des problemes, ce n'est pas par l'ignorance que l
'on peut les resoudre.
-- Isaac Asimov