Bonjour
J'ai un comportement qui n'est pas cohérent
les variables son positionné dans une methode:
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
			vWord = sFlex.substr( 0, mpos);
			LWord += "/NNP";
			pNextWord = new stAnalysedWord();
			pNextToken = (char*)LWord.c_str();
			pNextWord->wsWord = L"/";
			pNextWord->wsLemma = L"/";
			pNextWord->POS = POS_MARK;
			pNextWord->ulStart = *ulWordNumber;
			pNextWord->ulLength = 1;
			pNextWord->iExcluded = 0;
			pNextWord->Gender = GENDER_NONE;
			pNextWord->iNbr = NBR_NONE;
			pNextWord->iPers = PERS_NONE;
			pNext2Word = new stAnalysedWord();
			s = CStrConv::ambstowcs((char*)vWord.c_str());
			pNext2Word->wsWord = s;
			pNext2Word->wsLemma = s;
			CStrConv::StrFreeW( s);
			pNext2Word->POS = POS_NAMED_ENTITY;
			pNext2Word->ulStart = *ulWordNumber + 1;
			pNext2Word->ulLength = 1;
			pNext2Word->iExcluded = 4;
			pNext2Word->Gender = GENDER_MASCULINE;
			pNext2Word->iNbr = NBR_SING;
			pNext2Word->iPers = PERS_NONE;
			pNext3Word = new stAnalysedWord();
			pNext3Word->wsWord = L".";
			pNext3Word->wsLemma = L".";
			pNext3Word->POS = POS_STOPMARK;
			pNext3Word->ulStart = *ulWordNumber + 2;
			pNext3Word->ulLength = 1;
			pNext3Word->iExcluded = 1;
			pNext3Word->Gender = GENDER_NONE;
			pNext3Word->iNbr = NBR_NONE;
			pNext3Word->iPers = PERS_NONE;
Sous debugger les pointeurs sont mis non définis;
Elles sont accédées dans la méthode appelante. Je vous met le code et mes commentaires
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
		if( pAnalysedWord != nullptr)
		{
			bIsAllocated = true;
			pNextWord = pAnalysedWord;
		}
		if(pNext2Word != nullptr)
		{
			bDoubleAllocated = true;
		}
		if( pNext3Word != nullptr)
		{
			bTripleAllocated = true;
		}
      *ulWordNumber = *ulWordNumber + 1;
	  pAnalWord->push_back( pAnalysedWord);
	  if( bIsAllocated == true)
	  {
		  *ulWordNumber = *ulWordNumber + 1;
		  pAnalWord->push_back( pNextWord);
		  bIsAllocated = false;
	  }
	  if( bDoubleAllocated == true)
	  {
		  *ulWordNumber = *ulWordNumber + 1;
		  pAnalWord->push_back( pNext2Word);
		  bDoubleAllocated = false;
	  }
	  if( bTripleAllocated == true)
	  {
		  *ulWordNumber ++;
		  // il y a a mettre le point dans un chunk
		  // en fait a ce point ce n'est pas nécéssaire
		  pAnalWord->push_back( pNext3Word);
		  bTripleAllocated = false;
	  }
Dans cette séquence on passe par le premier test
mais on ne passe pas ni dans le second ni dans le troisième
ce problème est bloquant.
qui m'aidera sera