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

Visual C++ Discussion :

une adresse qui n'est pas vue


Sujet :

Visual C++

  1. #1
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut une adresse qui n'est pas vue
    Bonjour,
    Je compile en Release pour voir si le problème de link est reproduit:
    et je butte sur un problème de compilation qui ne reconnait pas un include
    j"ai une liste d'include ci dessous :
    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
    31
    32
    33
    34
    #include "StdAfx.h"
    #include "Macro.h"
    #include "AlignStructure.h"
    #include "Enumerations.hpp"
    #include "Structure.h"
    #include "TypeDefs.hpp"
    #include "POS.h"
    #include "Layout.h"
    #include "ClassesAligner.hpp"
    #include "LinkDescription.h"
    #include "Document.h"
    #include "Language.h"
    #include "StrConv.h"
    #include "StrToken.h"
    #include "Application.h"
    #include "Database.h"
    #include "MissionDatabaseManager.H"
    #include "Message.h"
    #include "Manager.h"
    #include "Event.h"
    #include "Option.h"
    #include "WordManager.h"
    #include "ParserManager.h"
    #include "Dictionnaire.h"
    #include "Chunker.h"
    #include "Ngramer.h"
    #include "Segmentation.h"
    #include "computingForAlignment.h"
    #include "AnnexFunctions.h"
    #include "Exception.h"
    #include "ParseSynset.hpp"
    #include "MorphSynset.hpp"
    #include "SchedulerGlobal.h"
    #include "Aligner.h"
    la structure stUnivers est définie dans le document Structure
    qui est placé dans le mëme répertoire due ClassesAligner.hpp;
    je vous met la Structure, la définition de la Structure. J'ai changé le symbole pour éviter des synonymes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	struct stUnivers
    	{
                 int idParagraph;
                 std::wstring wsName;
    	}stUNIVERS;
    et je vous met son appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class CElementSemantique
    class CElementSemantique
    {
       public:
          long idElement;
          long idSegSrc;
          int  iIdDoc;
          int  idParagraph;
          stUNIVERS Univers;
          std::list<CAnalysedChunk*> ListChunk;
          enElementSemantique TypeElement;
    };
    et les injures du compilateur qui sont inchangé malgré le changement de symboles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    1>D:\usr\Specification LoaderV4.00\dev\Common\com\ClassesAligner.hpp(101): error C2146: erreur de syntaxe*: absence de ';' avant l'identificateur 'Univers'
    1>D:\usr\Specification LoaderV4.00\dev\Common\com\ClassesAligner.hpp(101): error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque*: C++ ne prend pas en charge int par défaut
    1>D:\usr\Specification LoaderV4.00\dev\Common\com\ClassesAligner.hpp(101): error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque*: C++ ne prend pas en charge int par défaut
    Qui m'aidera sera

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Attention, ton second code ne déclare pas seulement un type de structure, mais aussi une variable de ce type!
    Enlève le stUnivers à la fin.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut et que fais je
    si j'enlève stUnivers, par quoi je le remplace?

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 073
    Points : 12 119
    Points
    12 119
    Par défaut
    si j'enlève stUnivers, par quoi je le remplace?
    Rien, c'est une différence entre le C et le C++.
    Est-ce bien raisonnable de faire une migration entre du C et du C++ si on ne connait même pas la différence entre une structure C et une structure C++ ???

  5. #5
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut je ne migre pas ce code
    Je ne migre pas ce code

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 073
    Points : 12 119
    Points
    12 119
    Par défaut
    La structure "stUnivers" n'est compréhensible en l'état quand C et vous en faites un champ d'une classe, donc quand C++.
    Vous pouvez jouer les Sainte nitouches, mais vous avez mis vos grosses pattes dans au moins une partie du code.
    Soit vous faite du C, et vous oubliez cette classe C++.
    Soit vous faites du C++ et vous changez le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    struct stUnivers
    	{
                 int idParagraph;
                 std::wstring wsName;
    	};
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class CElementSemantique
    class CElementSemantique
    {
       public:
          long idElement;
          long idSegSrc;
          int  iIdDoc;
          int  idParagraph;
          stUnivers Univers;
          std::list<CAnalysedChunk*> ListChunk;
          enElementSemantique TypeElement;
    };

  7. #7
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut j'ai copié votre code
    j'ai copié votre code. Je le met pour que vous puissiez le vérifier :

    La Structure:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	struct stUnivers
    	{
    		int idParagraph;
    		std::wstring wsName;
    	};
    et la classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class CElementSemantique
    {
       public:
          long idElement;
          long idSegSrc;
          int  iIdDoc;
          int  idParagraph;
          stUnivers Univers;
          std::list<CAnalysedChunk*> ListChunk;
          enElementSemantique TypeElement;
    };
    J'ai toujours la même erreur;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    1>D:\usr\Specification LoaderV4.00\dev\Common\com\ClassesAligner.hpp(101): error C2146: erreur de syntaxe*: absence de ';' avant l'identificateur 'Univers'
    1>D:\usr\Specification LoaderV4.00\dev\Common\com\ClassesAligner.hpp(101): error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque*: C++ ne prend pas en charge int par défaut
    1>D:\usr\Specification LoaderV4.00\dev\Common\com\ClassesAligner.hpp(101): error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque*: C++ ne prend pas en charge int par défaut

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 073
    Points : 12 119
    Points
    12 119
    Par défaut
    Comme je vois un beau bordel dans l'ordre des includes, utilisez l'option /P de VS pour bien vérifier vos classes dans le bon ordre.

  9. #9
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Sinon, mettre un include du .h de stUnivers dans le .h de la classe (avant la déclaration de la classe).
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  10. #10
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut J'ai essayé l'option /P
    J'ai essayé l'option /P mais je n'ai pas mis au bon endroit
    pouvez vous me dire comment la mettre

  11. #11
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 073
    Points : 12 119
    Points
    12 119
    Par défaut
    Vous ne mettez cette option que sur le fichier cpp qui ne compile pas.
    Vous ne compilez que ce fichier.
    A la fin de la compilation de ce fichier, vous obtenez un fichier .i correspondant au fichier .cpp que vous venez de compiler.
    Enlever l'option /P sur ce fichier (car on oubliera de le faire plus tard.)
    Ouvrez le fichier .i, il contient la sortie du préprocesseur, et quelque chose me dit que la ligne "stUnivers Univers;" sera avant la ligne "struct stUnivers".

    Si c'est le cas, c'est que vous avez fait nimportenawak avec les includes et que vous êtes prié de les remettre d'équerre.

  12. #12
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut La solution
    la structure stUnivers avait mystérieusement disparu du fichier structure

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 18/01/2007, 21h01
  2. Réponses: 3
    Dernier message: 01/06/2006, 16h26
  3. Trouver une valeur qui n'est pas dans un champ
    Par eric41 dans le forum Requêtes
    Réponses: 6
    Dernier message: 16/05/2006, 16h48
  4. lien dessus une images qui n'est pas en background
    Par tiyolx dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 04/03/2006, 18h40

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