un comportement pas cohérent
Bonjour :D
J'ai un comportement qui n'est pas cohérent
les variables son positionné dans une methode:
Code:
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:
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 :ccool: