none
manipulation des Enumerators RRS feed

  • Question

  • bonjour;

    J'ai une difficulté pour la manipulation des objets Enumerator:

    Je vous donne le code en cause

    erc ErrorCode = INIT_NO_ERROR;
    	  std::list<enPOS>::iterator itPos; //Iterator on list of POS
    	  List<CAnalysedWordM^>::Enumerator itWordParsed;
    	  System::String^ wsText;
    	  bool bPassivePossible = false;
    	  bool bPassiveCertain = false;
    	  CAnalysedSegmentM^    pSeg;   // Pointer on a CAnalysedSegment
    	  CAnalysedWordM^       pWord;
    	  CAnalysedWordM^       pNextWord;
    	  CAnalysedWordM^       pPreviousWord;
    	  size_t iSize;
    	  int inbWord;
    	  enum enCSegmentationError
    	  {
    		ERROR_OPTION_MANAGER,
    		POINTER_NULL,
    	  };
    	  wsText = L"";
    	  inbWord = 0;
    	  for each( pWord in ListWordParsed)
    	  {
    		 wsText += pWord->wsWord;
    		 wsText += L" ";
    	  }
    	  len = 0;
      
    			pSeg = gcnew CAnalysedSegmentM;
    			pSeg->pLinguisticSegment = gcnew CLinguisticSegmentM();
    			pSeg->Language = Language;
    			pSeg->shSegmentWordLength = 0;
    			pSeg->shSegmentCharLength = 0;
    			for each( pWord in ListWordParsed)
    			{
    			  itWordParsed.GetEnumerator;
    			  if( itWordParsed.MoveNext != false)
    			  {
    				  pNextWord = itWordParsed.Current;
    			  }
    			  else
    				  pNextWord = pPreviousWord;
    			  inbWord += 1;

    mon besoin est d'initialiser un Enumerator pour qu'il lise l'élément suivant dans la liste si MoveNext renvoie true.

    Je me débat avec la syntaxe qui semble fausse. mais j'ai besoin d'être guidé vers une solution.


    Jean Noël Martin

    jeudi 2 janvier 2014 05:44

Réponses

  • Bonjour,

    Voici le code corrigé (parcontre à vous de réaliser la boucle...) :

    itWordParsed = ListWordParsed->GetEnumerator();
    
    	if( itWordParsed.MoveNext() != false)
    	{
    		pNextWord = itWordParsed.Current;
    	}
    	else
    		pNextWord = pPreviousWord;
    
    

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    • Marqué comme réponse JeanNoel53 jeudi 2 janvier 2014 10:14
    jeudi 2 janvier 2014 08:49
    Modérateur