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 :

Impossible d'appeler begin() ou end()


Sujet :

Visual C++

  1. #21
    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 te met
    Je te met
    le code qui compile avec les mêmes variables
    le fichier header de CChunker;
    le .i
    le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	itStringPos = wsListPosNoun.begin();
    	while( itStringPos != wsListPosNoun.end())
    	{
    		std::wstring wsPOS = *itStringPos;
    		enPOS TempPOS = pPos->CPOS::GetPOSWithPOSLabel( wsPOS);
    		ptListPosNoun->push_back( TempPOS);
    		itStringPos++;
    	}
    la classe
    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
    35
    36
    	class CChunker
    	{
    	private:
    		std::list<enPOS>* ptListPosVerb;				//Pos List for verb chunk type
    		std::list<enPOS>* ptListPosNoun;				//Pos List for noun chunk type
    		std::list<enPOS>* ptListPosPostStopper;			//Pos List for poststopper chunk type
    		std::list<enPOS>* ptListPosPreStopper;			//Pos List for prestopper chunk type
    		std::list<enPOS>* ptListPosFunct;				//Pos List for function chunk type
    		std::list<std::wstring>* pListPosVerb;			//Pos List for verb chunk type
    		std::list<std::wstring>* pListPosNoun;			//Pos List for noun chunk type
    		std::list<std::wstring>* pListPostStopper;		//Pos List for poststopper chunk type
    		std::list<std::wstring>* pListPreStopper;		//Pos List for prestopper chunk type
    		std::list<std::wstring>* pListPosFunct;			//Pos List for function chunk type
    		std::list<std::wstring> m_wsListLemmaNonStopper;//Lemma Stopper list
    		enum enCChunkerMethod
    		{
    			SPLIT_INTO_CHUNK =1,
    		};
    		public:
    			CChunker();
    			~CChunker();
    			static enPOS TestPosType(CAnalysedWord *pWord);
    			static erc SplitIntoChunk(CAnalysedSegment *pSegment, std::wstring id);
    			//                                                                         1                                                        2                       3                   4            5                6                  7                                                   8
    			static CAnalysedChunk* AnalyseCurrentVerbSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk *pCurrentChunk, int& Step, enPOS& DrivingPos, bool bMarkOngoing, bool bPivotPending, std::list<CAnalysedWord*>::iterator& itEndWord);
    			static CAnalysedChunk* AnalyseCurrentNounSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk* pCurrentChunk, int & Step, enPOS & DrivingPos, bool bMarkOngoing, bool bPivotPending);
    			static CAnalysedChunk* InitiateCurrentNounSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk * pCurrentChunk, int& Step, enPOS& DrivingPos, bool bMarkOngoing, bool bPivotPending);
    			static CAnalysedChunk* InitiateCurrentVerbSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk* pCurrentChunk, int& Step, enPOS& DrivingPos, bool bMarkOngoing, bool bPivotPending);
    			static bool IsSameChunkType(enChunkType TypeOfPreviousWord, CAnalysedWord *pWord);
    			static enChunkType NewPosType(CAnalysedWord *pWord, CAnalysedWord *pNextWord);
    			static CAnalysedWord* SetMark(std::wstring wsMark, enPOS POS, int len);
    			void CaseNoun( enPOS Curpos, CAnalysedChunk* pCurrentChunk, CAnalysedWord* pWord, int &Step, enPOS &DivingPos);
    	};
    	extern bool m_bOptionProblem;                   //To know if Option Mananger have done his work or not
    };
    #endif /* CHUNKER_H */
    le .i limitée à la classe CChunk
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    #line 1 "D:\\usr\\Specification LoaderV4.01\\dev\\Linguistic\\Analyser\\com\\Chunker.h"
     
    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;
     
    	class CChunker
    	{
    	private:
    		std::list<enPOS>* ptListPosVerb;				
    		std::list<enPOS>* ptListPosNoun;				
    		std::list<enPOS>* ptListPosPostStopper;			
    		std::list<enPOS>* ptListPosPreStopper;			
    		std::list<enPOS>* ptListPosFunct;				
    		std::list<std::wstring>* pListPosVerb;			
    		std::list<std::wstring>* pListPosNoun;			
    		std::list<std::wstring>* pListPostStopper;		
    		std::list<std::wstring>* pListPreStopper;		
    		std::list<std::wstring>* pListPosFunct;			
    		std::list<std::wstring> m_wsListLemmaNonStopper;
    		enum enCChunkerMethod
    		{
    			SPLIT_INTO_CHUNK =1,
    		};
    		public:
    			CChunker();
    			~CChunker();
    			static enPOS TestPosType(CAnalysedWord *pWord);
    			static unsigned long long SplitIntoChunk(CAnalysedSegment *pSegment, std::wstring id);
     
    			static CAnalysedChunk* AnalyseCurrentVerbSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk *pCurrentChunk, int& Step, enPOS& DrivingPos, bool bMarkOngoing, bool bPivotPending, std::list<CAnalysedWord*>::iterator& itEndWord);
    			static CAnalysedChunk* AnalyseCurrentNounSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk* pCurrentChunk, int & Step, enPOS & DrivingPos, bool bMarkOngoing, bool bPivotPending);
    			static CAnalysedChunk* InitiateCurrentNounSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk * pCurrentChunk, int& Step, enPOS& DrivingPos, bool bMarkOngoing, bool bPivotPending);
    			static CAnalysedChunk* InitiateCurrentVerbSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk* pCurrentChunk, int& Step, enPOS& DrivingPos, bool bMarkOngoing, bool bPivotPending);
    			static bool IsSameChunkType(enChunkType TypeOfPreviousWord, CAnalysedWord *pWord);
    			static enChunkType NewPosType(CAnalysedWord *pWord, CAnalysedWord *pNextWord);
    			static CAnalysedWord* SetMark(std::wstring wsMark, enPOS POS, int len);
    			void CaseNoun( enPOS Curpos, CAnalysedChunk* pCurrentChunk, CAnalysedWord* pWord, int &Step, enPOS &DivingPos);
    	};
    	extern bool m_bOptionProblem;                   
    };

  2. #22
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 069
    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 069
    Points : 12 113
    Points
    12 113
    Par défaut
    Moi, je comprends plus rien.
    Vous nous donnez du code qui mélange la version pointeur et la version "objet" des champs donc le compilateur refusait les "end" et les "begin".
    Le code qui vous nous donnez utilisez la version objet mais dans le .h, je ne vous que des pointeurs en champs.

    Faudrait savoir, vous les avez migrés en pointeur ou pas vos champs !

  3. #23
    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 bis
    J'ai migré en pointeurs
    Je crois de plus en plus que le compilateur dit n'importe quoi
    J'ai essayé de modifier le cast comme ci-dessus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        itPosNoun = std::find<enPOS>( (std::list<enPOS>::iterator)(ptListPosNoun->begin()), (std::list<enPOS>::iterator)(ptListPosNoun->end()), pWord->POS);
        if(itPosNoun != (std::list<enPOS>::iterator)(ptListPosNoun->end()))
        {
          IsSameChunkType = true;
        }
        break;
    ça n'a rien changé

  4. #24
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 069
    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 069
    Points : 12 113
    Points
    12 113
    Par défaut
    Je crois de plus en plus que le compilateur dit n'importe quoi
    C'est bizarre, plus on maitrise l'outil moins on lui trouve de défaut.
    Le problème, dans la quasi totalité de cas, c'est entre la chaise et le clavier qu'il se trouve.
    Et le caractère bordélique de votre développement mais fait encore plus penser que le problème est là.

    J'ai essayé de modifier le cast comme ci-dessus:
    Donc n'importe comment!!!
    Vous lisez les références qu'on vous donne ?!?!
    C'est normal que ça change rien, comment vous le faite : n'importe comment, c'est même pour cela qu'on vous donne des références à lire, PUTAIN !!!

    Alors arrêtez vos conneries et donnez nous le code que vous utilisez qui pose problème + les messages d'erreurs + et la partie pertinente du .i correspondant aux messages d'erreur.

    Et à jours et synchrones, ça nous changera.

  5. #25
    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 bon je donne le source, le .i,les messages d'erreur
    bon je donne le source, le .i,les messages d'erreur
    le source: (sans les casts):
    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
    35
    36
    37
    38
    39
    40
    bool CChunker::IsSameChunkType(enChunkType TypeOfPreviousWord, CAnalysedWord *pWord)
    {
      std::list<enPOS>::iterator  itPosVerb;
      std::list<enPOS>::iterator  itPosNoun;
      std::list<enPOS>::iterator  itPosFunct;
      bool                        IsSameChunkType;
     
      IsSameChunkType = false;
      switch( TypeOfPreviousWord)
      {
      case CHUNKTYPE_NOUN:
        itPosNoun = std::find<enPOS>( ptListPosNoun->begin(), ptListPosNoun->end(), pWord->POS);
        if(itPosNoun != ptListPosNoun->end())
        {
          IsSameChunkType = true;
        }
        break;
      case CHUNKTYPE_VERB:
        itPosVerb = std::find<enPOS>( ptListPosVerb->begin(), ptListPosVerb->end(), pWord->POS);
        if(itPosVerb != ptListPosVerb->end())
        {
          IsSameChunkType = true;
        }
        break;
      case CHUNKTYPE_FUNCT:
        itPosFunct = std::find<enPOS>( ptListPosFunct->begin(), ptListPosFunct->end(), pWord->POS);
        if(itPosFunct != ptListPosFunct->end())
        {
          IsSameChunkType = true;
        }
        break;
      case CHUNKTYPE_OTHER:
        if (TestPosType(pWord) == CHUNKTYPE_OTHER)
        {
          IsSameChunkType = true;
        }
        break;
      }
      return(IsSameChunkType);
    }
    le .i de la classe
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    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;
     
    	class CChunker
    	{
    	private:
    		std::list<enPOS>* ptListPosVerb;				
    		std::list<enPOS>* ptListPosNoun;				
    		std::list<enPOS>* ptListPosPostStopper;			
    		std::list<enPOS>* ptListPosPreStopper;			
    		std::list<enPOS>* ptListPosFunct;				
    		std::list<std::wstring>* pListPosVerb;			
    		std::list<std::wstring>* pListPosNoun;			
    		std::list<std::wstring>* pListPostStopper;		
    		std::list<std::wstring>* pListPreStopper;		
    		std::list<std::wstring>* pListPosFunct;			
    		std::list<std::wstring> m_wsListLemmaNonStopper;
    		enum enCChunkerMethod
    		{
    			SPLIT_INTO_CHUNK =1,
    		};
    		public:
    			CChunker();
    			~CChunker();
    			static enPOS TestPosType(CAnalysedWord *pWord);
    			static unsigned long long SplitIntoChunk(CAnalysedSegment *pSegment, std::wstring id);
     
    			static CAnalysedChunk* AnalyseCurrentVerbSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk *pCurrentChunk, int& Step, enPOS& DrivingPos, bool bMarkOngoing, bool bPivotPending, std::list<CAnalysedWord*>::iterator& itEndWord);
    			static CAnalysedChunk* AnalyseCurrentNounSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk* pCurrentChunk, int & Step, enPOS & DrivingPos, bool bMarkOngoing, bool bPivotPending);
    			static CAnalysedChunk* InitiateCurrentNounSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk * pCurrentChunk, int& Step, enPOS& DrivingPos, bool bMarkOngoing, bool bPivotPending);
    			static CAnalysedChunk* InitiateCurrentVerbSyntagme( CLinguisticSegment * pLinguisticSegment, std::list<CAnalysedWord*>::iterator& itWord, CAnalysedChunk* pCurrentChunk, int& Step, enPOS& DrivingPos, bool bMarkOngoing, bool bPivotPending);
    			static bool IsSameChunkType(enChunkType TypeOfPreviousWord, CAnalysedWord *pWord);
    			static enChunkType NewPosType(CAnalysedWord *pWord, CAnalysedWord *pNextWord);
    			static CAnalysedWord* SetMark(std::wstring wsMark, enPOS POS, int len);
    			void CaseNoun( enPOS Curpos, CAnalysedChunk* pCurrentChunk, CAnalysedWord* pWord, int &Step, enPOS &DivingPos);
    	};
    	extern bool m_bOptionProblem;                   
    };
    le I du code
    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
    35
    36
    37
    38
    39
    40
    bool CChunker::IsSameChunkType(enChunkType TypeOfPreviousWord, CAnalysedWord *pWord)
    {
      std::list<enPOS>::iterator  itPosVerb;
      std::list<enPOS>::iterator  itPosNoun;
      std::list<enPOS>::iterator  itPosFunct;
      bool                        IsSameChunkType;
     
      IsSameChunkType = false;
      switch (TypeOfPreviousWord)
      {
      case CHUNKTYPE_NOUN:
        itPosNoun = std::find<enPOS>( ptListPosNoun->begin(), ptListPosNoun->end(), pWord->POS);
        if(itPosNoun != ptListPosNoun->end())
        {
          IsSameChunkType = true;
        }
        break;
      case CHUNKTYPE_VERB:
        itPosVerb = std::find<enPOS>( ptListPosVerb->begin(), ptListPosVerb->end(), pWord->POS);
        if(itPosVerb != ptListPosVerb->end())
        {
          IsSameChunkType = true;
        }
        break;
      case CHUNKTYPE_FUNCT:
        itPosFunct = std::find<enPOS>( ptListPosFunct->begin(), ptListPosFunct->end(), pWord->POS);
        if(itPosFunct != ptListPosFunct->end())
        {
          IsSameChunkType = true;
        }
        break;
      case CHUNKTYPE_OTHER:
        if (TestPosType(pWord) == CHUNKTYPE_OTHER)
        {
          IsSameChunkType = true;
        }
        break;
      }
      return(IsSameChunkType);
    }
    les messages d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(348): error C2227: la partie gauche de '->begin' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(348): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(349): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(355): error C2227: la partie gauche de '->begin' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(355): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(356): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(362): error C2227: la partie gauche de '->begin' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(362): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(363): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique

  6. #26
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 069
    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 069
    Points : 12 113
    Points
    12 113
    Par défaut
    Remplacer les appels aux méthodes begin et end de std::list<> par des appels aux fonctions std::begin et std::end, pour voir.
    http://en.cppreference.com/w/cpp/iterator/begin
    http://en.cppreference.com/w/cpp/iterator/end

  7. #27
    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é
    J'ai essayé, ça n'a rien changé

  8. #28
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 069
    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 069
    Points : 12 113
    Points
    12 113
    Par défaut
    J'ai essayé, ça n'a rien changé
    Les messages d'erreurs sont forcement différents.

  9. #29
    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 pris les type dans std::begin et std::end
    J'ai pris les type dans std::begin et std::end
    et j'ai effectivement des messages différents:
    la déclaration:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    template<class C> ; // Line 336
    auto begin( C& c)->decltype(c.begin());
    auto end( C& c)->decltype(c.end());
    les messages:
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(336): error C2988: impossible de reconnaître la définition/déclaration de modèle
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(336): error C2059: erreur de syntaxe*: '<end Parse>'
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(338): error C2143: erreur de syntaxe*: absence de ';' avant '->'
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(338): error C2988: impossible de reconnaître la définition/déclaration de modèle
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(338): error C2059: erreur de syntaxe*: '->'
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(348): error C2659: '='*: fonction comme opérande gauche
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(352): error C2065: 'itPosNoun'*: identificateur non déclaré
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(352): error C2065: 'c'*: identificateur non déclaré
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(352): error C2065: 'c'*: identificateur non déclaré
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(353): error C2065: 'itPosNoun'*: identificateur non déclaré
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(353): error C2065: 'c'*: identificateur non déclaré
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(355): error C2659: '='*: fonction comme opérande gauche
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(359): error C2065: 'itPosVerb'*: identificateur non déclaré
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(359): error C2065: 'c'*: identificateur non déclaré
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(359): error C2065: 'c'*: identificateur non déclaré
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(360): error C2065: 'itPosVerb'*: identificateur non déclaré
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(360): error C2065: 'c'*: identificateur non déclaré
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(362): error C2659: '='*: fonction comme opérande gauche
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(366): error C2065: 'itPosFunct'*: identificateur non déclaré
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(366): error C2065: 'c'*: identificateur non déclaré
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(366): error C2065: 'c'*: identificateur non déclaré
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(367): error C2065: 'itPosFunct'*: identificateur non déclaré
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(367): error C2065: 'c'*: identificateur non déclaré
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(369): error C2659: '='*: fonction comme opérande gauche
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(375): error C2659: '='*: fonction comme opérande gauche
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(379): warning C4305: 'return'*: troncation de 'bool (__cdecl *)(enChunkType,SpecificationLoader::CAnalysedWord *)' à 'bool'
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(379): warning C4800: 'bool (__cdecl *)(enChunkType,SpecificationLoader::CAnalysedWord *)'*: valeur forcée à la valeur booléenne 'true' ou 'false' (avertissement sur les performances)
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(395): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(399): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(403): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(407): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(411): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(415): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(421): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(425): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(429): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(433): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(437): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(441): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(443): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(445): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(447): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(449): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(451): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(453): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(455): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(457): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(459): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(461): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(463): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(466): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(468): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(471): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(473): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(475): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(477): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(479): error C2513: 'System::Type'*: aucune variable déclarée avant '='
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(481): error C3622: 'System::Type'*: une classe déclarée comme 'abstract' ne peut pas être instanciée
    1>          c:\program files (x86)\reference assemblies\microsoft\framework\.netframework\v4.0\mscorlib.dll*: voir la déclaration de 'System::Type'

  10. #30
    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 518
    Points
    41 518
    Par défaut
    Elle est bizarre, ta déclaration.
    Non seulement ta ligne 1 devrait être répétée, mais en plus elle ne devrait pas se terminer par une virgule.

    Mais plus à propos, tu ne devrais pas avoir à re-déclarer std::begin et std::end.
    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.

  11. #31
    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 n'ai pas compris ta deuxième remarque
    je n'ai pas compris ta deuxième remarque
    Citation Envoyé par Médinoc Voir le message
    Mais plus à propos, tu ne devrais pas avoir à re-déclarer std::begin et std::end.
    à tout hasard j'ai codé:
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    template<class C>
    auto begin( C& c)->decltype(c.begin());
    template<class C>
    auto end( C& c)->decltype(c.end());
     
    bool CChunker::IsSameChunkType(enChunkType TypeOfPreviousWord, CAnalysedWord *pWord)
    {
      std::list<enPOS>::iterator  itPosVerb;
      std::list<enPOS>::iterator  itPosNoun;
      std::list<enPOS>::iterator  itPosFunct;
      bool                        IsSameChunkType;
     
     
      IsSameChunkType = false;
      switch( TypeOfPreviousWord)
      {
      case CHUNKTYPE_NOUN:
        itPosNoun = std::find<enPOS>( ptListPosNoun->begin(), ptListPosNoun->end(), pWord->POS);
        if(itPosNoun != ptListPosNoun->end())
        {
          IsSameChunkType = true;
        }
        break;
      case CHUNKTYPE_VERB:
        itPosVerb = std::find<enPOS>( ptListPosVerb->begin(), ptListPosVerb->end(), pWord->POS);
        if(itPosVerb != ptListPosVerb->end())
        {
          IsSameChunkType = true;
        }
        break;
      case CHUNKTYPE_FUNCT:
        itPosFunct = std::find<enPOS>( ptListPosFunct->begin(), ptListPosFunct->end(), pWord->POS);
        if(itPosFunct != ptListPosFunct->end())
        {
          IsSameChunkType = true;
        }
        break;
      case CHUNKTYPE_OTHER:
        if (TestPosType(pWord) == CHUNKTYPE_OTHER)
        {
          IsSameChunkType = true;
        }
        break;
      }
      return(IsSameChunkType);
    }
    et j'ai toujours la même erreur;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(353): error C2227: la partie gauche de '->begin' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(353): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(354): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(360): error C2227: la partie gauche de '->begin' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(360): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(361): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(367): error C2227: la partie gauche de '->begin' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(367): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(368): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique

  12. #32
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 069
    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 069
    Points : 12 113
    Points
    12 113
    Par défaut
    On ne mais pas de template dans un .cpp.

    Vous n'avez pas besoin des 4 premières lignes et elles cachent les "vraies" erreurs.

    Si std::begin n'est pas connu, c'est que vous n'avez pas utilisé les #include adéquates.

    Dans votre code, vous ne vous servez pas de std::begin ni de std::end, il faut remplacer l'usage de la méthode "begin" et de la méthode "end" par les fonctions "std::begin" et "std::end".

  13. #33
    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
    J'ai pris le stdfax et j'ai trouvé:
    que dois je faire des 4 lignes. Les mettre dans le .h?

  14. #34
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 069
    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 069
    Points : 12 113
    Points
    12 113
    Par défaut
    que dois je faire des 4 lignes. Les mettre dans le .h?
    Nulle part.

  15. #35
    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 pourtant,
    pourtant, elles viennent des référence que tu as désigné
    le code est devenu:
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
     
     
    bool CChunker::IsSameChunkType(enChunkType TypeOfPreviousWord, CAnalysedWord *pWord)
    {
      std::list<enPOS>::iterator  itPosVerb;
      std::list<enPOS>::iterator  itPosNoun;
      std::list<enPOS>::iterator  itPosFunct;
      bool                        IsSameChunkType;
     
     
      IsSameChunkType = false;
      switch( TypeOfPreviousWord)
      {
      case CHUNKTYPE_NOUN:
        itPosNoun = std::find<enPOS>( ptListPosNoun->std::begin(), ptListPosNoun->std::end(), pWord->POS);
        if(itPosNoun != ptListPosNoun->std::end())
        {
          IsSameChunkType = true;
        }
        break;
      case CHUNKTYPE_VERB:
        itPosVerb = std::find<enPOS>( ptListPosVerb->std::begin(), ptListPosVerb->std::end(), pWord->POS);
        if(itPosVerb != ptListPosVerb->std::end())
        {
          IsSameChunkType = true;
        }
        break;
      case CHUNKTYPE_FUNCT:
        itPosFunct = std::find<enPOS>( ptListPosFunct->std::begin(), ptListPosFunct->std::end(), pWord->POS);
        if(itPosFunct != ptListPosFunct->std::end())
        {
          IsSameChunkType = true;
        }
        break;
      case CHUNKTYPE_OTHER:
        if (TestPosType(pWord) == CHUNKTYPE_OTHER)
        {
          IsSameChunkType = true;
        }
        break;
      }
      return(IsSameChunkType);
    }
    et Les messages d'erreur sont inchangées:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(350): error C2227: la partie gauche de '->begin' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(350): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(351): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(357): error C2227: la partie gauche de '->begin' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(357): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(358): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(364): error C2227: la partie gauche de '->begin' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(364): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(365): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>

  16. #36
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 069
    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 069
    Points : 12 113
    Points
    12 113
    Par défaut
    Dans votre code, vous ne vous servez pas de std::begin ni de std::end, il faut remplacer l'usage de la méthode "begin" et de la méthode "end" par les fonctions "std::begin" et "std::end". (BIS )

    EDIT : effectivement vous ne vous servez plus, mais vous les remplacez par des méthodes std::begin et std::end qui n'existent pas, c'est des FONCTIONS LIBRES, merci @Médinoc.

  17. #37
    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 Dans le code
    Dans le code ci-dessus, c'est fait, vérifiez.
    J'ai déclaré les pointeurs en public. ça donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	class CChunker
    	{
    	public:
    		std::list<enPOS>* ptListPosVerb;				//Pos List for verb chunk type
    		std::list<enPOS>* ptListPosNoun;				//Pos List for noun chunk type
    		std::list<enPOS>* ptListPosPostStopper;			//Pos List for poststopper chunk type
    		std::list<enPOS>* ptListPosPreStopper;			//Pos List for prestopper chunk type
    		std::list<enPOS>* ptListPosFunct;				//Pos List for function chunk type
    		std::list<std::wstring>* pListPosVerb;		        	//Pos List for verb chunk type
    		std::list<std::wstring>* pListPosNoun;			        //Pos List for noun chunk type
    		std::list<std::wstring>* pListPostStopper;		        //Pos List for poststopper chunk type
    		std::list<std::wstring>* pListPreStopper;		        //Pos List for prestopper chunk type
    		std::list<std::wstring>* pListPosFunct;			//Pos List for function chunk type
    J'ai essayè de caster avec le type de la déclaration ca donne:
    et j'ai déclaré les pointeurs en public
    Code:
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
     
     
    bool CChunker::IsSameChunkType(enChunkType TypeOfPreviousWord, CAnalysedWord *pWord)
    {
      std::list<enPOS>::iterator  itPosVerb;
      std::list<enPOS>::iterator  itPosNoun;
      std::list<enPOS>::iterator  itPosFunct;
      bool                        IsSameChunkType;
     
     
      IsSameChunkType = false;
      switch( TypeOfPreviousWord)
      {
      case CHUNKTYPE_NOUN:
        itPosNoun = std::find<enPOS>( ((std::list<enPOS>*)ptListPosNoun)->std::begin(), ((std::list<enPOS>*)ptListPosNoun)->std::end(), pWord->POS);
        if(itPosNoun != ((std::list<enPOS>*)ptListPosNoun)->std::end())
        {
          IsSameChunkType = true;
        }
        break;
      case CHUNKTYPE_VERB:
        itPosVerb = std::find<enPOS>( ((std::list<enPOS>*)ptListPosVerb)->std::begin(), ((std::list<enPOS>*)ptListPosVerb)->std::end(), pWord->POS);
        if(itPosVerb != ((std::list<enPOS>*)ptListPosVerb)->std::end())
        {
          IsSameChunkType = true;
        }
        break;
      case CHUNKTYPE_FUNCT:
        itPosFunct = std::find<enPOS>( ((std::list<enPOS>*)ptListPosFunct)->std::begin(), ((std::list<enPOS>*)ptListPosFunct)->std::end(), pWord->POS);
        if(itPosFunct != ((std::list<enPOS>*)ptListPosFunct)->std::end())
        {
          IsSameChunkType = true;
        }
        break;
      case CHUNKTYPE_OTHER:
        if (TestPosType(pWord) == CHUNKTYPE_OTHER)
        {
          IsSameChunkType = true;
        }
        break;
      }
      return(IsSameChunkType);
    }
    ce code génère des messages d'erreur, comme si le compilateur donnait au symboles ptxxx la valeur void:
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(350): error C2440: 'cast de type'*: impossible de convertir de '' en 'std::list<_Ty> *'
    1>          with
    1>          [
    1>              _Ty=enPOS
    1>          ]
    1>          Aucun contexte dans lequel cette conversion est possible
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(350): error C2227: la partie gauche de '->begin' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(350): error C2440: 'cast de type'*: impossible de convertir de '' en 'std::list<_Ty> *'
    1>          with
    1>          [
    1>              _Ty=enPOS
    1>          ]
    1>          Aucun contexte dans lequel cette conversion est possible
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(350): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(351): error C2440: 'cast de type'*: impossible de convertir de '' en 'std::list<_Ty> *'
    1>          with
    1>          [
    1>              _Ty=enPOS
    1>          ]
    1>          Aucun contexte dans lequel cette conversion est possible
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(351): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(357): error C2440: 'cast de type'*: impossible de convertir de '' en 'std::list<_Ty> *'
    1>          with
    1>          [
    1>              _Ty=enPOS
    1>          ]
    1>          Aucun contexte dans lequel cette conversion est possible
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(357): error C2227: la partie gauche de '->begin' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(357): error C2440: 'cast de type'*: impossible de convertir de '' en 'std::list<_Ty> *'
    1>          with
    1>          [
    1>              _Ty=enPOS
    1>          ]
    1>          Aucun contexte dans lequel cette conversion est possible
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(357): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(358): error C2440: 'cast de type'*: impossible de convertir de '' en 'std::list<_Ty> *'
    1>          with
    1>          [
    1>              _Ty=enPOS
    1>          ]
    1>          Aucun contexte dans lequel cette conversion est possible
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(358): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(364): error C2440: 'cast de type'*: impossible de convertir de '' en 'std::list<_Ty> *'
    1>          with
    1>          [
    1>              _Ty=enPOS
    1>          ]
    1>          Aucun contexte dans lequel cette conversion est possible
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(364): error C2227: la partie gauche de '->begin' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(364): error C2440: 'cast de type'*: impossible de convertir de '' en 'std::list<_Ty> *'
    1>          with
    1>          [
    1>              _Ty=enPOS
    1>          ]
    1>          Aucun contexte dans lequel cette conversion est possible
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(364): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(365): error C2440: 'cast de type'*: impossible de convertir de '' en 'std::list<_Ty> *'
    1>          with
    1>          [
    1>              _Ty=enPOS
    1>          ]
    1>          Aucun contexte dans lequel cette conversion est possible
    1>..\..\..\..\Linguistic\Analyser\src\chunker.cpp(365): error C2227: la partie gauche de '->end' doit pointer vers un type class/struct/union/générique

  18. #38
    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 518
    Points
    41 518
    Par défaut
    Citation Envoyé par JeanNoel53
    ptListPosNoun->std::begin()
    *facepalm*

    T'es-tu seulement renseigné sur comment std::begin() est supposé marcher, au lieu de recopier bètement des formules magiques?

    std::begin() est une fonction libre, comme std::getline(). C'est ainsi qu'elle s'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::begin(*ptListPosNoun)
    (ben oui, std::begin prend une référence)
    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.

  19. #39
    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
    J'ai déplacé les déclarations des poiteur du header au cpp et ça a résolu le problème.j'ai du supprimer les std:bagin et les std::end ainsi quel a spécialisation de std::find en enPOS

  20. #40
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 069
    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 069
    Points : 12 113
    Points
    12 113
    Par défaut
    Vous avez donc converti des membres d'une classe et variables globales ???

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Réponses: 6
    Dernier message: 11/07/2013, 12h04
  2. Réponses: 2
    Dernier message: 16/03/2009, 11h07
  3. Impossible d'appeler un autre constructeur
    Par Topeur dans le forum C++
    Réponses: 3
    Dernier message: 27/05/2008, 18h44
  4. Réponses: 5
    Dernier message: 27/05/2008, 14h08
  5. begin et end dans mysql
    Par acipeg dans le forum Outils
    Réponses: 4
    Dernier message: 14/12/2006, 09h56

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