Meilleur auteur de réponses
comme je n'ai pas de réponse au problème déjà posé je le repose aujourd'hui avec les mises à jour

Question
-
bonjour,
J'arrive au bout de ma migration. Le seuls problèmes qui résistent sont les identifiants non trouvés par le compilateur;
J'ai d'autres primitives déclarés de la même façon qui sont bien trouvés. J'ai fait quelques petites corrections au fur et à mesure que le compilateur me le demandait.
Je vous me:
- es includes de la classe
- les sources
les messages d'erreur extensifs( on est à la fin) et vous verrez ainsi l'importance du problème.
les déclarations
public class BuildComponents { public: BuildComponents::BuildComponents(); BuildComponents::~BuildComponents(); std::wstring BuildComponents::FormatPhrase( preconditionNormalized precondition); std::list<preconditionNormalized*> BuildComponents::ReordonneListe( std::list<preconditionNormalized*> listPreconditionNormalized); bool BuildComponents::CheckPeconditions( std::list<CObjet*> listObjectsNormalized, std::list<preconditionNormalized*> listePreconditionNormalized); int* BuildComponents::ProcessNumber( int* iiValue, ElementSemantic Enreg, int& u); std::list<CAnalysedWord*> BuildComponents::ProcessEntity( std::list<CAnalysedWord*> color, ElementSemantic Enreg, int& V, bool &bColorIsInitialized); std::list<QualificateurNormalized*> BuildComponents::reformeQualificateur( std::list<QualificateurNormalized*> listeQualificateurNormalized); std::list<predicatNormalized*> BuildComponents::reformePredicat( std::list<ElementSemantic*> listeQualificatif); std::list<preconditionNormalized*> BuildComponents::reformePrecondition(std::list<ElementSemantic*> listePrecondition, std::list<QualificateurNormalized*> listQualificateurNormalized); std::list<CObjet*> BuildComponents::reformObjets( std::list<QualificateurNormalized*> listQualificateurNormalized); bool BuildComponents::ParseObjects( CAnalysedSegment* pSegment); std::list<std::wstring*> BuildComponents::reformeUnivers( std::list<ElementSemantic*> listeUnivers); std::list<std::wstring*> BuildComponents::ParseUniversChaine( std::list<std::wstring*> ListeUniversNormalized, std::list<std::wstring*> listUniversSousChaine); std::list<std::wstring*> BuildComponents::ParseUnivers( std::list<predicatNormalized*> listePredicatNormalized, std::list<std::wstring*> listeUniversNormalized); void BuildComponents::MarkPredicate( std::list<predicatNormalized*> listePredicatNormalized); }; extern BuildComponents objBuildComponents;
les sources: je vous met quatre primitives les deux premières sont trouvés et les deux dernière ne sont pas trouvé.je note que tout les appels rejetés se trouvent dans la même méthode. Je vous donne donc le code de la primitive en question expurgée pour tenir dans la limite de taille imposé par le site, et jusqu'au premier appel aux primitives en question/*----------------------------------------------------------------------------*/ /*Name ReordonneListe */ /*Role il reste à contrôler les précondition à comparer. il faut */ /* maintenant réordonner la liste des préconditions */ /* en fonction de l'occurence. On va les réordonner par occurence*/ /*Interface */ /*In */ /*In/Out None */ /*Result None */ /*----------------------------------------------------------------------------*/ std::list<preconditionNormalized*> BuildComponents::ReordonneListe( std::list<preconditionNormalized*> listPreconditionNormalized) { std::list<TempPrecondition*> listTempPrecondition; std::list<TempPrecondition*>* pListTempPrecondition; preconditionNormalized* pPrecondition; TempPrecondition tPrecondition; TempPrecondition* ptPrecondition; std::list<preconditionNormalized*>::iterator itPrecondition; std::list<TempPrecondition*>::iterator ittPrecondition; int maxOccurence = 0; int occurence = 0; int i = 0; int j = 0; pListTempPrecondition = new std::list<TempPrecondition*>(); listTempPrecondition = *pListTempPrecondition; itPrecondition = listePreconditionNormalized.begin(); while( itPrecondition != listePreconditionNormalized.end()) { // 1 pPrecondition = *itPrecondition; precondition = *pPrecondition; occurence = precondition.Occurence; ptPrecondition = new TempPrecondition(); tPrecondition = *ptPrecondition; tPrecondition.occurence = occurence; tPrecondition.precondition = precondition; listTempPrecondition.push_back( &tPrecondition); if( maxOccurence < occurence) { // 2 maxOccurence = occurence; } // 2 itPrecondition++; } // 1 // il faut maintenent reporter les prédicats dans l'ordre des occurences listePreconditionNormalized.clear(); i = maxOccurence; while( i > -1) { // 1 j = 0; iSize = listTempPrecondition.size(); ittPrecondition = listTempPrecondition.end(); ittPrecondition--; while( j < iSize) { // 2 ptPrecondition = *ittPrecondition; tPrecondition = *ptPrecondition;; if( tPrecondition.occurence == i) { // 3 listePreconditionNormalized.push_back( &tPrecondition.precondition); } // 3 j++; } // 2 ittPrecondition--; } // 1 }; /*----------------------------------------------------------------------------*/ /*Name CheckPeconditions */ /*Role il faut controler que tous les termes de l'objet trouve un */ /* répondant dans les préconditions */ /*Interface */ /*In */ /*In/Out None */ /*Result None */ /*----------------------------------------------------------------------------*/ // bool BuildComponents::CheckPeconditions( std::list<CObjet*> listObjectsNormalized, std::list<preconditionNormalized*> listePreconditionNormalized) { std::list<preconditionNormalized*>::iterator itPrecondition; std::list<std::wstring*>::iterator itString; std::list<CObjet*>::iterator itObjet; preconditionNormalized* pPrecondition; std::wstring* pString; CObjet* pObjet; CObjet NewObject; int j; int k; int l; bool bFound; std::wstring wsName; std::wstring wsComment; std::wstring wsRefName; std::string sPhrase; bFound = false; j = 0; itObjet = listObjectsNormalized.begin(); while( itObjet != listObjectsNormalized.end()) { // 1 pObjet = *itObjet; NewObject = *pObjet; wsName = NewObject.Name; wsComment = NewObject.Text; k = 0; int size = 0; if( NewObject.max < 5) { // 2 itString = NewObject.Enumerated.begin(); while( itString != NewObject.Enumerated.end()) { // 3 pString = *itString; std::wstring color = *pString; bFound = false; itPrecondition = listePreconditionNormalized.begin(); while( itPrecondition != listePreconditionNormalized.end()) { // 4 pPrecondition = *itPrecondition; precondition = *pPrecondition; if( precondition.Comment == wsRefName) { // 5 bFound = true; } // 5 itPrecondition++; if( wsRefName == L"0") { // 5 l = 0; bFound = true; } // 5 else if( wsRefName == L"1") { // 5 l = 1; bFound = true; } // 5 else if( wsRefName == L"2") { // 5 l = 2; bFound = true; } // 5 else if( wsRefName == L"3") { // 5 l = 3; bFound = true; } // 5 else if( wsRefName == L"4") { // 5 l = 4; bFound = true; } // 5 if( bFound == false || wsRefName == precondition.Identifier) { // 5 msg = "What is to be done with the object "; char* temp = SpecificationLoader::objStrConv.awcstombs( (wchar_t *)wsRefName.c_str()); sPhrase = temp; SpecificationLoader::objStrConv.StrFreeA( temp); msg += sPhrase; msg += "\n"; wrn += msg; } // 5 } // 4 itPrecondition++; } // 3 itString++; } // 2 itObjet++; } // 1 }; // /*------------------------------------------------------------------------------*/ /*Name ComputeNumber */ /*Role build the structure of the objects qualificateurs */ /*Interface */ /*In u, enreg */ /*In/Out None */ /*Result iiValue[8] */ /*------------------------------------------------------------------------------*/ // int* BuildComponents::ComputeNumber( int* iiValue, ElementSemantic Enreg, int& u) { // 0 int test; int test1; int test2; int test3; int test4; std::wstring temp; test = Enreg.wsWord.find( L"#", 0); test1 = Enreg.wsWord.find( L"x", 0); test2 = Enreg.wsWord.find( L"N", 0); test3 = Enreg.wsWord.find( L"<", 0); test4 = Enreg.wsWord.find( L">", 0); if( !Enreg.wsWord.find( L"MLRL", 0)) { test = test == 0 || test1 == 0 || test2 == 0 || test3 == 0 || test4 == 0; temp = L""; if( test1 != 0) { int len = Enreg.wsWord.length(); temp = Enreg.wsWord.substr(2, len); } else if( test3 != 0|| test4 != 0) { temp = Enreg.wsWord.substr(1, 2); } else if( test != 0) { // 2 temp = Enreg.wsWord.substr(1); } // 2 else { // 2 temp = Enreg.wsWord; } if( temp == L"one") { // 1 iiValue[ u] = 1; } else if( temp == L"two") { iiValue[ u] = 2; } else if( temp == L"three" || temp == L"Three") { iiValue[u] = 3; } // 1 else if( temp == L"four") { iiValue[u] = 4; } // 1 // int _wtoi( const wchar_t *str); iiValue[u] = _wtoi( (const wchar_t*)temp.c_str()); u++; } return( iiValue); } // /*------------------------------------------------------------------------------*/ /*Name ComputeEntity */ /*Role build the structure of the objects qualificateurs */ /*Interface */ /*In */ /*In/Out None */ /*Result None */ /*------------------------------------------------------------------------------*/ // std::list<CAnalysedWord*> BuildComponents::ComputeEntity( std::list<CAnalysedWord*> color, ElementSemantic Enreg, int& V, bool &bColorIsInitialized) { // 0 CAnalysedWord* pWord; CAnalysedWord Word; bColorIsInitialized = true; pWord = new CAnalysedWord(); Word = *pWord; Word.wsWord = Enreg.wsWord; Word.POS = (enPOS)Enreg.iPOS; Word.ValueOfWord = Enreg.iValWord; color.push_back( pWord); v++; return( color); }
/*------------------------------------------------------------------------ ----*/
/*Name reformeQualificateur */
/*Role build the structure of the objects qualificateurs */
/*Interface */
/*In */
/*In/Out None */
/*Result None */
/*------------------------------------------------------------------------------*/
std::list<QualificateurNormalized*> reformeQualificateur( std::list<ElementSemantic*> listeQualificatif)
{
std::list<QualificateurNormalized*> listeQualifcateurNormalized;
std::list<ElementSemantic*>::iterator itElemnt;
std::list<QualificateurNormalized*>::iterator itQualif;
std:list<ElementLinks*>::iterator itLink;
ElementSemantic* pEnreg;
QualificateurNormalized* pElementNormalized;
std::list<QualificateurNormalized*>* plistQualificateurNormalized;
std::list<CAnalysedWord*>* pListWord;
std::list<ElementLinks*> ListLink;
std::list<ElementLinks*>* pListLink;
ElementLinks* pLinkElemn;
ElementLinks LinkElemn;
QualificateurLink* pQualifLink;
QualificateurLink QualifLink;
CAnalysedWord* pWord;
CAnalysedWord Word;
std::list<enPOS*> pPOS;
int* iiValue;
int iAlloc = 0;
int nuIdElemn = 0;
bool bIdent;
bool bColorIsInitialized = false;
bool bIsProcessed = false;
int iIsCurrentSubject = 0;
int iOldEnreg = 0;
int Occurence;
std::list<CAnalysedWord*> color;
listQualificateurNormalized;
ElementSemantic PrevEnreg;
ElementSemantic NextEnreg;
ElementSemantic tEnreg;
QualificateurNormalized nEnreg;
int len;
int min;
int max;
int iMin;
int iMax;
int iType;
CAnalysedWord item;
QualificateurNormalized elementNormalized;
try
{//0
iType = 0;
iMax = 0;
iMin = 99999;
iSize = listeQualificatif.size();
std::wstring wsPredicat;
std::wstring wsVerb = L"";
std::wstring wsSujet = L"";
std::wstring wsComplement = L"";
std::wstring wsDeclencheur = L"";
std::wstring wsText = L"";
std::wstring wsIdentifier = L"";
std::wstring wsCandidatIdentifier = L"";
bool bVerb = false;
bool bSujet = false;
bool bComplement = false;
bool bExist = false;
bool bInitColor = false;
bool bVirgule = false;
bAlternative = false;
bIdent = false;
bool bIsFirstSujet = true;
int iSize1 = 0;
int i = 0;
int j = 0;
int k = 0;
int i1 = 0;
int iPos = 0;
int iIdent = 0;
int Doublev = 0;
ElementLinks LinkElemn;
itElemnt = listeQualificatif.begin();
if( itElemnt != listeQualificatif.end())
{ //1
pEnreg = *itElemnt;
plistQualificateurNormalized = new std::list<QualificateurNormalized*>();
listeQualifcateurNormalized = *plistQualificateurNormalized;
pElementNormalized = new QualificateurNormalized();
elementNormalized = *pElementNormalized;
pListWord = new std::list<CAnalysedWord*>();
elementNormalized.Word = *pListWord;
pListWord = new std::list<CAnalysedWord*>();
elementNormalized.Colors = *pListWord;
pEnreg = new ElementSemantic();
NextEnreg = *pEnreg;
pEnreg = new ElementSemantic();
PrevEnreg = *pEnreg;
iAlloc++;
Enreg = *pEnreg;
bIsProcessed = true;
if( ( PrevEnreg.iPOS == POS_SEMI_COLUMN || (Enreg.nuIdElemn != iOldEnreg && iOldEnreg != 0) || ( Enreg.iPOS == POS_PIVOT && (bIdent == true && u > 4) && bVerb == true && bSujet == true && bAlternative == false && bComplement == true)))
{ // 2
try
{ // 3
ListLink = objMDBManager.getLinks( Enreg, iOldEnreg);
elementNormalized.Occurence = Occurence;
elementNormalized.Comment = wsText;
elementNormalized.ListParagraph = L"";
if (Occurence > 1)
{ // 4
int oldId = 0;
itLink = ListLink.begin();
while( itLink != ListLink.end()) // tant que j'ai un element non parcouru
{ // 5
pLinkElemn = *itLink;
LinkElemn = *pLinkElemn;
int id = LinkElemn.idParagraph;
if (id != oldId)
{ // 6
// wchar_t * _itow( int value, wchar_t *str, int radix);
elementNormalized.ListParagraph += _itow( id, (wchar_t*)elementNormalized.ListParagraph.c_str(), 10);
elementNormalized.ListParagraph += L" ";
} // 6
oldId = id;
itLink++;
} // 5
} // 4
else
{ // 4
itLink = ListLink.begin();
while( itLink != ListLink.end()) // tant que j'ai un element non parcouru
{ // 5
pLinkElemn = *itLink;
LinkElemn = *pLinkElemn;
int id = LinkElemn.idParagraph;
elementNormalized.ListParagraph += _itow( LinkElemn.idParagraph, (wchar_t*)elementNormalized.ListParagraph.c_str(), 10);
elementNormalized.ListParagraph += L" ";
itLink++;
}
} // 4
elementNormalized.Identifier = wsIdentifier;
k = listQualificateurNormalized.size();
if( wsIdentifier.length() > 0 && wsVerb.length() > 0)
{ // 4
// il faut éviter de charger deux fois le méme qualificateur
// mais il faut complèter les listes paragraphes le cas écheant
// void assign( size_type _Count, const Type& _Val
while( j < k)
{ // 5
listQualificateurNormalized.assign( j, &nEnreg);
if( u == nEnreg.indice && wsSujet == nEnreg.Sujet && wsIdentifier == nEnreg.Identifier)
{ // 6
nEnreg.ListParagraph += elementNormalized.ListParagraph;
elementNormalized.ListParagraph = nEnreg.ListParagraph;
bExist = true;
}
j++;
} // 5
if(bExist == false)
{ // 5
elementNormalized.indice = iOldEnreg;
elementNormalized.Univers = Enreg.Univers;
pQualifLink = new QualificateurLink();
elementNormalized.link = *pQualifLink;
pListWord = new std::list<CAnalysedWord*>();
elementNormalized.link.Colors = *pListWord;
elementNormalized.link.Values = iiValue;
elementNormalized.link.TypeData = u;
elementNormalized.link.Colors = color;
elementNormalized.link.iEnumerated = color.size();
elementNormalized.iEnumerated = color.size();
elementNormalized.link.Identifier = wsIdentifier;
elementNormalized.link.iPos = iPos;
listQualificateurNormalized.push_back( &elementNormalized);
iAlloc--;
} // 5
} // 4
len = listQualificateurNormalized.size();
if( iAlloc == 0)
{ // 4
pElementNormalized = new QualificateurNormalized();
elementNormalized = *pElementNormalized;
pListWord = new std::list<CAnalysedWord*>();
elementNormalized.Word = *pListWord;
pListWord = new std::list<CAnalysedWord*>();
elementNormalized.Colors = *pListWord;
iAlloc++;
} // 4
pListWord = new std::list<CAnalysedWord*>();
color = *pListWord;
bExist = false;
bColorIsInitialized = false;
bIsFirstSujet = true;
wsText = L"";
wsVerb = L"";
wsSujet = L"";
wsCandidatIdentifier = L"";
u = 0;
v = 0;
iMin = 99999;
iOldEnreg = Enreg.nuIdElemn;
} // 4
catch (...)
{ // 4
Doc_exception("échec de la méthode", nParagraph);
} // 4
} // 3
// on va maintenant traiter le cas de plusieur qualificatif dans un segment
wsText = Enreg.wsText;
itElemnt++;
if( itElemnt != listeQualificatif.end())
{
pEnreg = *itElemnt;
NextEnreg = *pEnreg;
}
else
NextEnreg = Enreg;
itElemnt--;
iType = Enreg.nuIdChunkType;
pWord = new CAnalysedWord();
Word = *pWord;
Word.wsWord = Enreg.wsWord;
Word.ValueOfWord = Enreg.iValWord;
Word.POS = (enPOS)Enreg.iPOS;
elementNormalized.Word.push_back( &Word);
int nbChunk = Enreg.siNbChunk;
nuIdElemn = Enreg.nuIdElemn;
int ctr = iIdent;
int oldIdElemn = 0;
std::wstring temp;
temp = L"";
bool test1;
bool test;
bool test2;
while( nuIdElemn != oldIdElemn)
{ // 3
oldIdElemn = nuIdElemn;
if ( Enreg.siNbChunk < 4)
{ // 4
switch ( Enreg.nuIdChunkType)
{ // 5
case CHUNKTYPE_VERB:
wsVerb += Enreg.wsWord;
wsVerb += L" ";
if( iPOS == POS_NB)
{ // 6
iiValue = ComputeNumber( iiValue, Enreg, u);
} // 6
if( Enreg.iPOS == POS_NAMED_ENTITY)
{
color = ComputeEntity( color, Enreg, v, bColorIsInitialized);
}
bVerb = true;
if( Enreg.iPOS != POS_ADV)
{
bIdent = true;
}
break;
les messages d'erreur extensifs
1> BuildComponents.cpp 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(507): warning C4996: '_itow': This function or variable may be unsafe. Consider using _itow_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> e:\Program Files\Microsoft Visual Studio 10.0\VC\include\stdlib.h(645) : voir la déclaration de '_itow' 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(522): warning C4996: '_itow': This function or variable may be unsafe. Consider using _itow_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> e:\Program Files\Microsoft Visual Studio 10.0\VC\include\stdlib.h(645) : voir la déclaration de '_itow' 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(601): warning C4996: '_itow': This function or variable may be unsafe. Consider using _itow_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> e:\Program Files\Microsoft Visual Studio 10.0\VC\include\stdlib.h(645) : voir la déclaration de '_itow' 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(759): error C3861: 'ProcessNumber' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(763): error C3861: 'ProcessEntity' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(792): error C3861: 'ProcessEntity' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(852): error C3861: 'ProcessNumber' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(862): error C3861: 'ProcessEntity' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(915): error C3861: 'ProcessEntity' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(1041): error C3861: 'ProcessNumber' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(1048): error C3861: 'ProcessEntity' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(1070): error C3861: 'ProcessEntity' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(1155): error C3861: 'ProcessNumber' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(1176): error C3861: 'ProcessEntity' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(1184): error C3861: 'ProcessNumber' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(1231): error C3861: 'ProcessEntity' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(1267): error C3861: 'ProcessNumber' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(1275): error C3861: 'ProcessNumber' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(1400): error C3861: 'ProcessNumber' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(1407): error C3861: 'ProcessEntity' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(1441): error C3861: 'ProcessEntity' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(1484): error C3861: 'ProcessEntity' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(1494): error C3861: 'ProcessEntity' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(1556): error C3861: 'ProcessNumber' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(1563): error C3861: 'ProcessEntity' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(1592): error C3861: 'ProcessEntity' : identificateur introuvable 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(2604): warning C4390: ';' : une instruction contrôlée a été trouvée vide ; est-ce ce que vous souhaitiez ? 1>..\..\..\..\Linguistic\Coherence\src\BuildComponents.cpp(3095): warning C4390: ';' : une instruction contrôlée a été trouvée vide ; est-ce ce que vous souhaitiez ? 1> 1>ÉCHEC de la build. 1>
on voit d'après ces messages que les deux premières primitives sont trouvés et que les deux dernières primitives ne sont pas trouvés. J'ai essayer de retaper les interface pour vérifier qu'il n'y avait pas de caractère de contrôle dans le nom... mais le problème persiste. Que faut il faire pour solutionner ce problème.
Jean Noël Martin
- Modifié JeanNoel53 samedi 19 octobre 2013 08:14
Réponses
-
J'ai fait un travail important de modularisation sur le code qui a fait disparaitre le problème: il semble donc que ce soit un problème de taille de table des symboles. Mais j'ai corrigé l''interface de la fonction en même temps
Jean Noël Martin
- Marqué comme réponse JeanNoel53 dimanche 20 octobre 2013 20:31
- Modifié JeanNoel53 lundi 21 octobre 2013 09:56
Toutes les réponses
-
Bonjour,
J'ai maintenant converti entièrement une classe de Java
Les seuls problèmes qui restent sont ceux qui sont dans la question restée ouverte dans le thread ci-après.
Je serai content d'avoir des conseils. Cependant je vais essayé de m'en occuper s'achant que il y a seulement deux primitives qui ne sont pas trouvées et que les deux autres sont trouvées;
En attendant les réponses, je commence la deuxième classe.
Jean Noël Martin
- Modifié JeanNoel53 vendredi 18 octobre 2013 15:09
- Fusionné Gilles TOURREAUModerator dimanche 20 octobre 2013 13:05 Message en double
-
Bonjour,
Comme je vous l'ai dis à plusieurs reprises dans vos différents threads, votre "reformeQualificateur()" est considéré comme une fonction. Cela signifie que l'appel à "ProcessEntity()" ou "ProcessNumber()" correspond à appeler des fonctions et non à des méthodes de BuildComponent (dans reformeQualificateur, on est dans un contexte de fonction).
Vous devez donc précédez votre fonction "reformeQualificateur" de "BuildComponents::" dans votre cpp afin de le considérer comme une méthode de la classe BuildComponents.
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 -
Bonjour,
Merci d'éviter d'ouvrir 150 threads pour la même question ! Si vous n'obtenez pas de réponses sur votre question c'est soit :
- Votre question est trop imprécise
- Personne n'arrive à trouver de solution
- Les bénévoles ont d'autres priorités dans leur temps perso (enfants, week end avec la belle-mère,...) et vous répondront certainement 2-3 jours plus-tard.
Je tiens à vous rappelez que les forums MSDN sont maintenus par des bénévoles et qu'ils sont gratuits, ils n'engagent en aucun cas les bénévoles à vous répondre sous 24h au risque de vous payer des pénalités......
Je fusionne ce thread avec votre question d'origine.
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 -
J'ai fait un travail important de modularisation sur le code qui a fait disparaitre le problème: il semble donc que ce soit un problème de taille de table des symboles. Mais j'ai corrigé l''interface de la fonction en même temps
Jean Noël Martin
- Marqué comme réponse JeanNoel53 dimanche 20 octobre 2013 20:31
- Modifié JeanNoel53 lundi 21 octobre 2013 09:56