Bonjour
J'ai un comportement qui n'est pas cohérent
les variables son positionné dans une methode:
Sous debugger les pointeurs sont mis non définis;
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;
Elles sont accédées dans la méthode appelante. Je vous met le code et mes commentaires
Dans cette séquence on passe par le premier test
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; }
mais on ne passe pas ni dans le second ni dans le troisième
ce problème est bloquant.
qui m'aidera sera![]()
Partager