IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

Identificateur non déclaré


Sujet :

Langage C++

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 233
    Par défaut Identificateur non déclaré
    Bonjour,

    Je suis en train de compiler un projet en visual c++,et quand je l'ai compilé voila l'erreur qui m'a donné:

    error C2065: 'i'*: identificateur non déclaré
    et voila le code source:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     void CDWGUI::PrepareData(char *sDir) // destination temp directory, terminate with "\\"
    {
    	//- copy source to temp dir in preparing CDWrite
    	char sSrc[MAX_PATH],sDest[MAX_PATH],s[70],sName[64],*ps;
    	mNbSource = GetPrivateProfileInt("CDWrite","SourceNb",0,gIniFile);
    	for (int i=0;i<mNbSource;i++) { //- copy data to temp dir
    		sprintf(s,"DataSource%d",i);
    		if(GetPrivateProfileString(s,"Source","",sSrc,MAX_PATH,gIniFile)) {
    			//sprintf(s,"DestName%d",i);
    			if (!GetPrivateProfileString(s,"DestName","",sName,34,gIniFile))
    			{ // if dest name doesn't exist, extract it from the source path
    				ps=strrchr(sSrc,'\\'); //- get the short path name
    				if (ps) ps++;
    				else ps = sSrc;
    			} else ps = sName;
    			sprintf(sDest,"%s%s",sDir,ps);
    			CopyDir(sDest,sSrc);
    		}		
    	}
    	//- add the directory to the cd write buffer
    	CString oDest= "\\FLASHPRINT\\DATA\\";
    	CString oSrc = sDir;
    	oSrc += "*.*";
    	i = mCdw.CloneDirectoryToISO(oDest,oSrc);
     
    	//d23-- enumerate the parent destination dir
    	UpdateImage(); // mCdw.EnumerateISOItems("\\FLASHPRINT\\");
    }
     
    //-- prepare viewer FlashPrint related directory
    Ou est l'erreur dans ce code?

    Et merci pour vos réponse.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    Citation Envoyé par king_soft Voir le message
    Ou est l'erreur dans ce code?
    Le compilateur te le dit...
    Il te donne même le numéro de la ligne fautive.

    Là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    i = mCdw.CloneDirectoryToISO(oDest,oSrc);
    L'identificateur i est non déclaré, e.g. la variable n'existe pas...

    MAT.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 233
    Par défaut
    oui je sais que l'erreur se trouve dans ce ligne alors je l'ai déclaré comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     int i = mCdw.CloneDirectoryToISO(oDest,oSrc);
    Est-ce-que c'est correcte?

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Citation Envoyé par king_soft Voir le message
    Est-ce-que c'est correct?
    Que dit le compilateur ?

    MAT.

  5. #5
    Membre chevronné

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Par défaut
    Salut,
    Attention : as-tu noté que le 'i' qui cause l'erreur n'est pas le même que le 'i' de la boucle 'for'. d'ou sort le 'i' de
    i = mCdw.CloneDirectoryToISO(oDest,oSrc);
    Qu'en fais-tu de ce 'i' en suite? ( Je demande car il n'est plus utilisé avant la fin de la fonction, et donc détruit à la fin de celle-ci! )

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 233
    Par défaut
    bertry,

    Je ne sais pas ce que ce 'i' retourne,car c'est pas moi qui a fais ce programme et je veux juste le compiler,et que retourne la fonction mCdw.CloneDirectoryToISO(oDest,oSrc)?
    si on connait ce que retourne cette fonction on peut trouver le type de 'i'.

    Et merci pour vos réponses.

  7. #7
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Dans le temps, quand on écrivait :
    La variable i continuait d'exister après la boucle for. Désormais, et depuis déjà un bon bout de temps, elle n'existe qu'à l'intérieur de la boucle, d'où ton erreur.

    Dans ce cas précis, comme le i a l'air indépendant, simplement en déclarer un autre devrait suffire.

    Dans d'autres cas, si on veut récupérer la valeur qu'avait i à la fin de la boucle, l'idée serait plus d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int i = ...;
    for (; ... ; ...)
    {
    }
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 233
    Par défaut
    JolyLoic,

    Mais quand on déclare avant la boucle for(;...;...):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	int i = mCdw.CloneDirectoryToISO(oDest,oSrc);
    il faut déclarer les deux paramétres:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     CString oDest= "\\FLASHPRINT\\DATA\\";
    	CString oSrc = sDir;
    	oSrc += "*.*";
    alors est-ce-qu'il faut faire ce code avant la boucle for(;...)?:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     CString oDest= "\\FLASHPRINT\\DATA\\";
    	CString oSrc = sDir;
    	oSrc += "*.*";
    	int i = mCdw.CloneDirectoryToISO(oDest,oSrc);
    Et merci pour vos réponses.

  9. #9
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 233
    Par défaut
    J'ai un autre problème quand je lance l'exécution,une fenêtre m'affiche et voila ce qui donne:

    Le fichier spécifié a un format binaire non reconnu ou non pris en charge
    et ça pour mon fichier solution .sln

    Alors comment résoudre ce problème?

Discussions similaires

  1. [D5] Identificateur non déclaré
    Par MelkInarian dans le forum Delphi
    Réponses: 2
    Dernier message: 20/04/2007, 17h20
  2. findcomponent, identificateur non déclaré
    Par chourmo dans le forum Delphi
    Réponses: 3
    Dernier message: 04/07/2006, 13h54
  3. Identificateur non déclaré
    Par nisere dans le forum Langage
    Réponses: 2
    Dernier message: 21/03/2006, 09h33
  4. Identificateur non déclaré : 'Null'
    Par Mofid04 dans le forum Bases de données
    Réponses: 4
    Dernier message: 12/03/2006, 11h47
  5. Problème d'identificateur non déclaré
    Par renorx dans le forum Débuter
    Réponses: 3
    Dernier message: 14/11/2005, 20h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo