locked
Quatre unresolved que je ne comprennais pas RRS feed

  • Question

  • Bonjour;

    J'ai un nombre important d'unresolved que je ne comprends pas

    Je vous met la liste. il y a trois causes:

    1>OpenAFile.obj : error LNK2020: jeton non résolu (060000CB) SpecificationLoader.CMDBManager::CreateSegmentProposition
    1>MainMenue.obj : error LNK2020: jeton non résolu (060000EC) SpecificationLoader.CMDBManager::CreateSegmentProposition
    1>SoftwareManager.obj : error LNK2020: jeton non résolu (060000C6) SpecificationLoader.CMDBManager::CreateSegmentProposition
    1>DataGlobal.obj : error LNK2020: jeton non résolu (06000111) SpecificationLoader.CMDBManager::CreateSegmentProposition
    1>MorphSynset.obj : error LNK2020: jeton non résolu (060000C7) SpecificationLoader.CMDBManager::CreateSegmentProposition
    1>Option.obj : error LNK2020: jeton non résolu (060000A2) SpecificationLoader.CMDBManager::CreateSegmentProposition
    1>IniFile.obj : error LNK2020: jeton non résolu (060000B3) SpecificationLoader.CMDBManager::CreateSegmentProposition
    1>WordManager.obj : error LNK2020: jeton non résolu (060000D3) SpecificationLoader.CMDBManager::CreateSegmentProposition
    1>VirtualEquation.obj : error LNK2020: jeton non résolu (060000BD) SpecificationLoader.CMDBManager::CreateSegmentProposition
    1>segmentation.obj : error LNK2020: jeton non résolu (060000C7) SpecificationLoader.CMDBManager::CreateSegmentProposition
    1>schedulerGlobal.obj : error LNK2020: jeton non résolu (060000C7) SpecificationLoader.CMDBManager::CreateSegmentProposition
    1>Proposition.obj : error LNK2020: jeton non résolu (060000B2) SpecificationLoader.CMDBManager::CreateSegmentProposition
    1>ngramer.obj : error LNK2020: jeton non résolu (060000D0) SpecificationLoader.CMDBManager::CreateSegmentProposition
    1>chunker.obj : error LNK2020: jeton non résolu (06000123) SpecificationLoader.CMDBManager::CreateSegmentProposition
    1>Aligner.obj : error LNK2020: jeton non résolu (060000D6) SpecificationLoader.CMDBManager::CreateSegmentProposition
    1>MissionDatabaseManager.obj : error LNK2020: jeton non résolu (06000112) SpecificationLoader.CMDBManager::CreateSegmentProposition
    1>Language.obj : error LNK2020: jeton non résolu (0600008E) SpecificationLoader.CMDBManager::CreateSegmentProposition
    1>SoftwareManager.obj : error LNK2020: jeton non résolu (060000F7) SpecificationLoader.CChunker::ProcessCurrentFunct
    1>DataGlobal.obj : error LNK2020: jeton non résolu (060000AC) SpecificationLoader.CChunker::ProcessCurrentFunct
    1>WordManager.obj : error LNK2020: jeton non résolu (060000EE) SpecificationLoader.CChunker::ProcessCurrentFunct
    1>VirtualEquation.obj : error LNK2020: jeton non résolu (060000E7) SpecificationLoader.CChunker::ProcessCurrentFunct
    1>segmentation.obj : error LNK2020: jeton non résolu (06000115) SpecificationLoader.CChunker::ProcessCurrentFunct
    1>schedulerGlobal.obj : error LNK2020: jeton non résolu (0600010D) SpecificationLoader.CChunker::ProcessCurrentFunct
    1>Proposition.obj : error LNK2020: jeton non résolu (060000DC) SpecificationLoader.CChunker::ProcessCurrentFunct
    1>ngramer.obj : error LNK2020: jeton non résolu (06000106) SpecificationLoader.CChunker::ProcessCurrentFunct
    1>chunker.obj : error LNK2020: jeton non résolu (0600009F) SpecificationLoader.CChunker::Processionnellement
    1>Aligner.obj : error LNK2020: jeton non résolu (06000121) SpecificationLoader.CChunker::ProcessCurrentFunct
    1>WnOver.obj : error LNK2028: jeton non résolu (0A00005F) "void __cdecl WordNetOverview(char *,int,class cliext::list<struct SpecificationLoader::mySynset ^>)" (?WordNetOverview@@$$FYAXPADHV?$list@P$AAUmySynset@SpecificationLoader@@@cliext@@@Z) référencé dans la fonction "void __clrcall WordNetOver(char *,class cliext::list<struct SpecificationLoader::mySynset ^>)" (?WordNetOver@@$$FYMXPADV?$list@P$AAUmySynset@SpecificationLoader@@@cliext@@@Z)
    1>Text.obj : error LNK2020: jeton non résolu (0A00000C) "struct _iobuf * SpecificationLoader::pFile" (?pFile@SpecificationLoader@@3PAU_iobuf@@A)
    1>WnOver.obj : error LNK2019: symbole externe non résolu "void __cdecl WordNetOverview(char *,int,class cliext::list<struct SpecificationLoader::mySynset ^>)" (?WordNetOverview@@$$FYAXPADHV?$list@P$AAUmySynset@SpecificationLoader@@@cliext@@@Z) référencé dans la fonction "void __clrcall WordNetOver(char *,class cliext::list<struct SpecificationLoader::mySynset ^>)" (?WordNetOver@@$$FYMXPADV?$list@P$AAUmySynset@SpecificationLoader@@@cliext@@@Z)
    1>Text.obj : error LNK2001: symbole externe non résolu "struct _iobuf * SpecificationLoader::pFile" (?pFile@SpecificationLoader@@3PAU_iobuf@@A)

    Pour les deux premières causes, j'ai vérifié les signatures de fonctions:

    je vous les met le prototype de la signature de l'appel dans le code:

    erc CMDBManager::CreateSegmentProposition(enLanguageM Language, hidDB hidSegmentID, List<CElementSemantiqueM^>^ pListProposition)

    et je vous met la déclaration de la fonction dans le header:

    			static erc CMDBManager::CreateSegmentProposition(enLanguageM Language, hidDB hidSegmentID, List<CElementSemantiqueM^>^ pListProposition);

    sur la deuxième cause je vous met le prototype de la fonction dans le code:

    			CAnalysedChunkM^ ProcessCurrentFunct( int& Step, enPOSM^ Curpos, CAnalysedChunkM^ pCurrentChunk, List<CAnalysedWordM^>::Enumerator itWord, CAnalysedWordM^ pNextWord, enPOSM^ DrivingPos, bool& processed, int& nNum, int& nColor)

    et le prototype de la fonction dans le header:

    			static CAnalysedChunkM^ ProcessCurrentFunct( int& Step, enPOSM^ Curpos, CAnalysedChunkM^ pCurrentChunk, List<CAnalysedWordM^>::Enumerator itWord, CAnalysedWordM^ pNextWord, enPOSM^ DrivingPos, bool& processed, int& nNum, int& nColor);

    pour la troisième cause je vous met l'appel dans le code:

    extern FILE* pFile;

    et la déclaration dans le code de dataGlobal:

    FILE*                                       pFile;

    Quant à la dernière cause d'erreur je vous met le code de la classe. il n'y a ps de référence à pFIle:

    #include "StdAfx.h"
    #define __WN_CPP
    #include "wn.h"
    #include "AlignStructure.h"
    #include "EnumerationM.hpp"
    #include "StructureM.h"
    // ligne 13
    
    
    using namespace std;
    
    void __cdecl WordNetOverview(char *,int, cliext::list< SpecificationLoader::mySynset ^>);
    //------------------------------------------------------------------------------
    void WordNetOver( char* searchstr, cliext::list<SpecificationLoader::mySynset^> results)
    { // ligne 22
       int pos; 
    
       for (pos = 1; pos <= NUMPARTS; pos++)
       {
          WordNetOverview( searchstr, pos, results);
       }
    }

    J'ai vérifié que les allocations étaient du même type que les header: Que dois je faire de plus?


    Jean Noël Martin








    • Modifié JeanNoel53 dimanche 20 septembre 2015 18:46
    mercredi 16 septembre 2015 12:16

Réponses

  • >il n'y a pas de référence à cette méthode dans le header de wn.h.

    Les déclarations de fonctions, c'est dans les .h et pas ailleurs.

    Dans les cpp, il doit avoir que des définitions, et une fonction ne devrait être définit qu'une fois et dans un unique fichier cpp.

    Je ne sais pas ce que vous foutez, mais c'est pas très catholique.

    "__cdecl", ce n'est pas anodin, la signature la définition et la déclaration doivent être identique et le "__cdecl" fait parti de la signature.


    Paul Bacelar, Ex - MVP VC++

    vendredi 18 septembre 2015 14:29
    Modérateur
  • Je ne vous suis plus.

    Pour votre dernier problème, "WordNetOverview" est déclaré dans la classe "WinSearch", il faut donc utiliser le nom qualifié : "WinSearch::WordNetOverview".


    Paul Bacelar, Ex - MVP VC++

    • Marqué comme réponse JeanNoel53 lundi 21 septembre 2015 09:58
    lundi 21 septembre 2015 09:20
    Modérateur

Toutes les réponses

  • Je suppose que vous faites référence aux 3 causes d'erreurs mentionnés dans la documentation suivante :

    https://msdn.microsoft.com/en-us/library/b57tw91b.aspx?f=255&MSPPError=-2147217396

    >Pour les deux premières causes, j'ai vérifié les signatures de fonctions:

    Les 2 premiers cas d'erreurs n'ont absolument rien à voir avec des "signatures de fonctions".

    Dans le 1er cas, il faut ajouter des implémentations manquantes.

    Dans le 2nd cas, il faut ajouter les .o ou les .lib contenant les implémentations dans les fichiers en entré du linker.

    static erc CMDBManager::CreateSegmentProposition(enLanguageM Language, hidDB hidSegmentID, List<CElementSemantiqueM^>^ pListProposition);

    Dans un fichier d'en-tête, on n'ajoute pas le nom de la classe contenant une méthode dans le nom de la méthode :

    ref class CMDBManager{

    ...

    static erc CreateSegmentProposition(enLanguageM Language, hidDB hidSegmentID, List<CElementSemantiqueM^>^ pListProposition);

    ...

    };

    >sur la deuxième cause je vous met le prototype de la fonction dans le code:

    Bin là, c'est l'inverse, dans le cpp, il faut mettre le nom de la classe devant le nom de la méthode !!!

    >pour la troisième cause je vous met l'appel dans le code:

    Les messages d'erreur semble indiquer que vous utilisez les options "clr:/pure" ou "clr/:safe" qui interdisent l'utilisation de code natif, or "FILE*" est un type natif donc interdit dans ce cas de figure.

    >Quant à la dernière cause d'erreur je vous met le code de la classe. il n'y a ps de référence à pFIle:

    >J'ai vérifié que les allocations étaient du même type que les header

    kamoulox


    Paul Bacelar, Ex - MVP VC++

    mercredi 16 septembre 2015 14:18
    Modérateur
  • J'ai supprimé un cause d'erreur qui venait du manque du nom de la classe devant le nom de la primitive

    Je ne sais pas comment donner une directive au linker concernant les point o ou lib

    et j'ai toujours l'erreur du CreateSegmentProposition; retirer le nom de la classe na rien arranger

    et j'ai mis les options à prise en charge  du langage clr, ce qui n'a rien changé


    Jean Noël Martin


    • Modifié JeanNoel53 mercredi 16 septembre 2015 15:03
    mercredi 16 septembre 2015 14:54
  • Avez vous bien spécifier le namespace dans le cpp où "CreateSegmentProposition" est défini ?

    Paul Bacelar, Ex - MVP VC++

    mercredi 16 septembre 2015 15:15
    Modérateur
  • Dans les deux cas (code et header) il est comme suit:

    namespace SpecificationLoader
    {
            using namespace System;
    	using namespace System::ComponentModel;
    	using namespace System::Collections;
    	using namespace System::Windows::Forms;
    	using namespace System::Data;
    	using namespace System::Drawing;
    	using namespace System::IO;


    Jean Noël Martin


    • Modifié JeanNoel53 mercredi 16 septembre 2015 15:26
    mercredi 16 septembre 2015 15:25
  • La définition de la méthode static "CreateSegmentProposition", SVP.

    Paul Bacelar, Ex - MVP VC++

    mercredi 16 septembre 2015 15:56
    Modérateur
  • erc CMDBManager::CreateSegmentProposition(enLanguageM Language, hidDB hidSegmentID, List<CElementSemantiqueM^>^ pListProposition)


    Jean Noël Martin

    mercredi 16 septembre 2015 16:02
  • Ça fait quoi si vous mettez une implémentation inline vide de la méthode "CreateSegmentProposition", dans le fichier d'en-tête de la classe CMDBManager ?

    namespace SpecificationLoader {

    ...

    ref class CMDBManager

    {

    ...

    static erc CreateSegmentProposition(enLanguageM Language, hidDB hidSegmentID, List<CElementSemantiqueM^>^ pListProposition){};

    ...

    };

    ...

    }



    Paul Bacelar, Ex - MVP VC++

    mercredi 16 septembre 2015 17:19
    Modérateur
  • il y a plus d'unresolved

    Jean Noël Martin

    mercredi 16 septembre 2015 17:49
  • C'est que votre définition n'est pas prise en compte.

    - Soit il y a une erreur dans les noms de votre définition (s'il n'en a pas, il y aurait eu doublon donc une autre erreur)

    - Soit le fichier cpp contenant la définition est soit non compilé soit non linké avec le reste du projet.


    Paul Bacelar, Ex - MVP VC++

    mercredi 16 septembre 2015 17:56
    Modérateur
  • il y avait effectivement un doublon. C'est corrigé. Il reste deux unresolved:

    1>WnOver.obj : error LNK2028: jeton non résolu (0A00005F) "void __cdecl WordNetOverview(char *,int,class cliext::list<struct SpecificationLoader::mySynset ^>)" (?WordNetOverview@@$$FYAXPADHV?$list@P$AAUmySynset@SpecificationLoader@@@cliext@@@Z) référencé dans la fonction "void __clrcall WordNetOver(char *,class cliext::list<struct SpecificationLoader::mySynset ^>)" (?WordNetOver@@$$FYMXPADV?$list@P$AAUmySynset@SpecificationLoader@@@cliext@@@Z)
    1>Text.obj : error LNK2020: jeton non résolu (0A00000C) "struct _iobuf * SpecificationLoader::pFile" (?pFile@SpecificationLoader@@3PAU_iobuf@@A)
    1>WnOver.obj : error LNK2019: symbole externe non résolu "void __cdecl WordNetOverview(char *,int,class cliext::list<struct SpecificationLoader::mySynset ^>)" (?WordNetOverview@@$$FYAXPADHV?$list@P$AAUmySynset@SpecificationLoader@@@cliext@@@Z) référencé dans la fonction "void __clrcall WordNetOver(char *,class cliext::list<struct SpecificationLoader::mySynset ^>)" (?WordNetOver@@$$FYMXPADV?$list@P$AAUmySynset@SpecificationLoader@@@cliext@@@Z)
    1>Text.obj : error LNK2001: symbole externe non résolu "struct _iobuf * SpecificationLoader::pFile" (?pFile@SpecificationLoader@@3PAU_iobuf@@A)

    J'ai essayé de mettre:

    cliext::list<SpecificationLoader::mySynset^>^ __cdecl WordNetOverview(char *searchstr, int pos, cliext::list<SpecificationLoader::mySynset^>^ resul) results;

    mais le compilateur n'a pas aimé

    1>..\..\..\..\..\..\WordNet\src\lib\WnOver.cpp(17): error C3646: 'results' : spécificateur de substitution inconnu
    1>..\..\..\..\..\..\WordNet\src\lib\WnOver.cpp(25): error C2664: 'WordNetOverview' : impossible de convertir le paramètre 3 de 'cliext::list<_Value_t>' en 'cliext::list<_Value_t> ^'
    1>          with
    1>          [
    1>              _Value_t=SpecificationLoader::mySynset ^
    1>          ]
    1>          Aucun opérateur de conversion défini par l'utilisateur disponible, ou
    1>          Aucun opérateur de conversion définie par l'utilisateur disponible qui puisse effectuer cette conversion, ou l'opérateur ne peut pas être appelé


    Jean Noël Martin


    • Modifié JeanNoel53 mercredi 16 septembre 2015 19:11
    mercredi 16 septembre 2015 18:19
  • Il cherche (le linker)

    void __cdecl WordNetOverview(char *,int,class cliext::list<struct SpecificationLoader::mySynset ^>) {...}

    et pas

    cliext::list<SpecificationLoader::mySynset^>^ __cdecl WordNetOverview(char *searchstr, int pos, cliext::list<SpecificationLoader::mySynset^>^ resul) results;

    Et en plus cette déclaration a été trouvé dans un fichier d'en-tête.

    Il faut un peu de rigueur quand même.


    Paul Bacelar, Ex - MVP VC++

    jeudi 17 septembre 2015 01:06
    Modérateur
  • mais la déclaration que vous proposé provoque un unresolved. pourquoi?

    la fonction appelée dans le module a comme signature:

    cliext::list<SpecificationLoader::mySynset^>^ WordNetOverview(char *searchstr, int pos, cliext::list<SpecificationLoader::mySynset^>^ results)


    Jean Noël Martin


    • Modifié JeanNoel53 jeudi 17 septembre 2015 07:21
    jeudi 17 septembre 2015 07:11
  • Là, c'est plus le jeu des 7 différences que de la programmation :

    Le linker cherche :

    void __cdecl WordNetOverview(char *,int,class cliext::list<struct SpecificationLoader::mySynset ^>) {...}


    et votre implémentation a comme signature :

    class cliext::list<SpecificationLoader::mySynset^>^ WordNetOverview(char *,int,class cliext::list<SpecificationLoader::mySynset^>^ ){...}

    Moi, je vois au moins 3 différences.


    Paul Bacelar, Ex - MVP VC++

    jeudi 17 septembre 2015 08:51
    Modérateur
  • J'ai donc déclaré:

    void __cdecl WordNetOverview(char *,int,class cliext::list<struct SpecificationLoader::mySynset ^>);

    et le compilateur m'a répondu:

    1>..\..\..\..\..\..\WordNet\src\lib\WnOver.cpp(17): error C3816: 'struct SpecificationLoader::mySynset' a été précédemment déclaré ou défini avec un autre modificateur managé
    1>          D:\usr\Specification LoaderV4.1\dev\Common\com\StructureM.h(28) : voir la déclaration de 'SpecificationLoader::mySynset'
    1>..\..\..\..\..\..\WordNet\src\lib\WnOver.cpp(17): error C3816: 'class cliext::list<_Value_t>' a été précédemment déclaré ou défini avec un autre modificateur managé
    1>          with
    1>          [
    1>              _Value_t=SpecificationLoader::mySynset ^
    1>          ]
    


    Jean Noël Martin

    jeudi 17 septembre 2015 09:38
  • "SpecificationLoader::mySynset", c'est une struct ou c'est une classe ?!?!

    Paul Bacelar, Ex - MVP VC++

    jeudi 17 septembre 2015 12:43
    Modérateur
  • c'est une structure managé déclaré dans le namespace SpecificationLoader

    	ref struct mySynset
    	{
    		int Number;
    		int Frequence;
    		int Identifier;
    		int pos;
    		float Value;
    		System::String^ Word;
    		System::String^ Definition;
    	};

    la signature de la fonction dans WinSearch est:

    cliext::list<SpecificationLoader::mySynset^>^ WordNetOverview(char *searchstr, int pos, cliext::list<SpecificationLoader::mySynset^>^ results)
    Je suis passé sous windows 10 et je suis revenu à l'état ou il reste deux causes d'erreur de link


    Jean Noël Martin



    • Modifié JeanNoel53 jeudi 17 septembre 2015 20:05
    jeudi 17 septembre 2015 17:05
  • J'ai réglé le unresolved de pFile: c'était des problèmes de namespace

    il me reste le unresolved de WordNetOverview


    Jean Noël Martin


    • Modifié JeanNoel53 vendredi 18 septembre 2015 08:26
    vendredi 18 septembre 2015 08:25
  • Je suis perdu.

    Pouvez-vous fournir :

    -La déclaration de la chose qui est dans le .h

    -La définition de la chose qui est dans le .cpp

    -Le message d'erreur


    Paul Bacelar, Ex - MVP VC++

    vendredi 18 septembre 2015 09:10
    Modérateur
  • La déclaration de la chose qui est dans le .h:

    il n'y a pas de référence à cette méthode dans le header de wn.h.

    -La définition de la chose qui est dans le .cpp

    il y a deux cpp : d'abord la signature de la méthode dans WnSearch.cpp

    cliext::list<SpecificationLoader::mySynset^>^ WordNetOverview(char *searchstr, int pos, cliext::list<SpecificationLoader::mySynset^>^ results)

    puis la signature de la méthode qui est dans WnOver.cpp

    cliext::list< SpecificationLoader::mySynset^>^ __cdecl WordNetOverview(char* searchstr,int pos, cliext::list< SpecificationLoader::mySynset ^>^); // ligne 17

    et enfin le message d'erreur:

    1>WnOver.obj : error LNK2028: jeton non résolu (0A00005F) "class cliext::list<struct SpecificationLoader::mySynset ^> ^ __cdecl WordNetOverview(char *,int,class cliext::list<struct SpecificationLoader::mySynset ^>)" (?WordNetOverview@@$$FYAP$AAV?$list@P$AAUmySynset@SpecificationLoader@@@cliext@@PADHV12@@Z) référencé dans la fonction "void __clrcall WordNetOver(char *,class cliext::list<struct SpecificationLoader::mySynset ^>)" (?WordNetOver@@$$FYMXPADV?$list@P$AAUmySynset@SpecificationLoader@@@cliext@@@Z)
    1>WnOver.obj : error LNK2019: symbole externe non résolu "class cliext::list<struct SpecificationLoader::mySynset ^> ^ __cdecl WordNetOverview(char *,int,class cliext::list<struct SpecificationLoader::mySynset ^>)" (?WordNetOverview@@$$FYAP$AAV?$list@P$AAUmySynset@SpecificationLoader@@@cliext@@PADHV12@@Z) référencé dans la fonction "void __clrcall WordNetOver(char *,class cliext::list<struct SpecificationLoader::mySynset ^>)" (?WordNetOver@@$$FYMXPADV?$list@P$AAUmySynset@SpecificationLoader@@@cliext@@@Z)

    en fait il fallait coder:

    WinSearch::WordNetOverview( searchstr, pos, results);


    Jean Noël Martin


    vendredi 18 septembre 2015 09:57
  • >il n'y a pas de référence à cette méthode dans le header de wn.h.

    Les déclarations de fonctions, c'est dans les .h et pas ailleurs.

    Dans les cpp, il doit avoir que des définitions, et une fonction ne devrait être définit qu'une fois et dans un unique fichier cpp.

    Je ne sais pas ce que vous foutez, mais c'est pas très catholique.

    "__cdecl", ce n'est pas anodin, la signature la définition et la déclaration doivent être identique et le "__cdecl" fait parti de la signature.


    Paul Bacelar, Ex - MVP VC++

    vendredi 18 septembre 2015 14:29
    Modérateur
  • Je tiens compte de votre réponse.Je suis dans le code  de WordNet que je corrige par petites touches

    J'ai donc mis dans WinSearch.hpp la déclaration suivante:

    namespace SpecificationLoader
    {
        using namespace System;
        using namespace System::ComponentModel;
        using namespace System::Collections;
        using namespace System::Windows::Forms;
        using namespace System::Data;
        using namespace System::Drawing;
        using namespace System::IO;

        ref class WinSearch
        {
            public:
                static cliext::list< ref struct mySynset^>^ __clrcall WordNetOverview(char* searchstr,int pos, cliext::list< ref struct mySynset^>^); // ligne ?
        };
    };

    et je cherche à obtenir une compilation

    J'utilise la déclaration de wordNetOverwiew dans WnOver;cpp

    #include "StdAfx.h"
    #define __WN_CPP
    #include "wn.h"
    #include "WinSearch.hpp"
    #include "AlignStructure.h"
    #include "EnumerationM.hpp"
    #include "StructureM.h"
    // ligne 13
    namespace SpecificationLoader
    {
    	using namespace std;
    	using namespace System::Runtime::InteropServices;
    	using namespace msclr::interop;
    
    //------------------------------------------------------------------------------
    	void WordNetOver( char* searchstr, cliext::list<SpecificationLoader::mySynset^>^ results)
    	{ // ligne 22
    		int pos; 
    
    		for (pos = 1; pos <= NUMPARTS; pos++)
    		{	
    			WordNetOverview( searchstr, pos, results);
    		}
    	}
    };

    pour l'instant j'ai un message d'erreur comme suit:

    1>..\..\..\..\..\..\WordNet\src\lib\WnOver.cpp(27): error C3861: 'WordNetOverview' : identificateur introuvable


    Jean Noël Martin






    • Modifié JeanNoel53 dimanche 20 septembre 2015 17:04
    vendredi 18 septembre 2015 14:55
  • Je ne vous suis plus.

    Pour votre dernier problème, "WordNetOverview" est déclaré dans la classe "WinSearch", il faut donc utiliser le nom qualifié : "WinSearch::WordNetOverview".


    Paul Bacelar, Ex - MVP VC++

    • Marqué comme réponse JeanNoel53 lundi 21 septembre 2015 09:58
    lundi 21 septembre 2015 09:20
    Modérateur