Trouver un point dans une chaîne de caractères
bonjour :D
J'ai des points qui sont collé au mot. Il faut que je les isole
j'ai codé
Code:
len = std::find( ptWord.begin(), ptWord.end(), L".");
et le compilateur me jette:
Code:
1 2 3 4 5 6 7 8
| 1>..\..\..\..\Linguistic\Analyser\src\segmentation.cpp(212): error C2440: '='*: impossible de convertir de 'std::_String_iterator<_Elem,_Traits,_Alloc>' en 'int'
1> with
1> [
1> _Elem=wchar_t,
1> _Traits=std::char_traits<wchar_t>,
1> _Alloc=std::allocator<wchar_t>
1> ]
1> Aucun opérateur de conversion définie par l'utilisateur disponible qui puisse effectuer cette conversion, ou l'opérateur ne peut pas être appelé |
qui m'orientera sera :ccool:
J'ai pris en compte ton observation
J'ai pris en compte ton observation:
j'ai déclaré:
Code:
1 2
| std::list<CAnalysedWord*>::iterator itWord;
std::wstring ptWord; |
et CAnalysedWord est déclarée
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| class CAnalysedWord
{
public:
unsigned long long ullWordID; // Identifiant du Word dans la base de données
unsigned long long ullLemmaID; // Identifiant du Lemma dans la base de données
std::wstring wsWord; // Texte du mot
std::wstring wsLemma; // Texte du lemma
enPOS POS; // Part Of Speech du lemma (et du mot)
enGender iGender; // Genre du lemma (et du mot)
enPers iPers; // Personne si c'est un verbe
enNbr iNbr; // nombre du mot
std::wstring wsPronunciation; // indication de progres du chunk)
int iExcluded; // La valeur du lemma est important ou non
unsigned long ulStart; // Position du premier caractère du mot dans le segment
unsigned long ulLength; // Longueur du mot (les espaces sont exclus)
CAnalysedWord()
{
}
~CAnalysedWord()
{;}
}; |
Le code est ainsi devenu:
Code:
1 2 3
| ptWord = pWord->wsWord;
itWord = std::find( ptWord.begin(), ptWord.end(), L".");
if( itWord != ptWord.end()) |
mais le compilateur n'aime toujours pas
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 36 37 38 39 40 41 42 43 44 45 46 47
| ..\..\..\..\Linguistic\Analyser\src\segmentation.cpp(213): error C2679: '=' binaire*: aucun opérateur trouvé qui accepte un opérande de partie droite de type 'std::_String_iterator<_Elem,_Traits,_Alloc>' (ou il n'existe pas de conversion acceptable)
1> with
1> [
1> _Elem=wchar_t,
1> _Traits=std::char_traits<wchar_t>,
1> _Alloc=std::allocator<wchar_t>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\list(393): peut être 'std::_List_iterator<_Mylist> &std::_List_iterator<_Mylist>::operator =(const std::_List_iterator<_Mylist> &)'
1> with
1> [
1> _Mylist=std::_List_val<SpecificationLoader::CAnalysedWord *,std::allocator<SpecificationLoader::CAnalysedWord *>>
1> ]
1> lors de la tentative de mise en correspondance de la liste des arguments '(std::_List_iterator<_Mylist>, std::_String_iterator<_Elem,_Traits,_Alloc>)'
1> with
1> [
1> _Mylist=std::_List_val<SpecificationLoader::CAnalysedWord *,std::allocator<SpecificationLoader::CAnalysedWord *>>
1> ]
1> and
1> [
1> _Elem=wchar_t,
1> _Traits=std::char_traits<wchar_t>,
1> _Alloc=std::allocator<wchar_t>
1> ]
1>..\..\..\..\Linguistic\Analyser\src\segmentation.cpp(214): error C2678: '!=' binaire*: aucun opérateur trouvé qui accepte un opérande de partie gauche de type 'std::_List_iterator<_Mylist>' (ou il n'existe pas de conversion acceptable)
1> with
1> [
1> _Mylist=std::_List_val<SpecificationLoader::CAnalysedWord *,std::allocator<SpecificationLoader::CAnalysedWord *>>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\system_error(425): peut être 'bool std::operator !=(const std::error_code &,const std::error_condition &)'
1> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\system_error(432): ou 'bool std::operator !=(const std::error_condition &,const std::error_code &)'
1> C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\guiddef.h(197): ou 'int operator !=(const GUID &,const GUID &)'
1> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\list(298): ou 'bool std::_List_const_iterator<_Mylist>::operator !=(const std::_List_const_iterator<_Mylist> &) const'
1> with
1> [
1> _Mylist=std::_List_val<SpecificationLoader::CAnalysedWord *,std::allocator<SpecificationLoader::CAnalysedWord *>>
1> ]
1> lors de la tentative de mise en correspondance de la liste des arguments '(std::_List_iterator<_Mylist>, std::_String_iterator<_Elem,_Traits,_Alloc>)'
1> with
1> [
1> _Mylist=std::_List_val<SpecificationLoader::CAnalysedWord *,std::allocator<SpecificationLoader::CAnalysedWord *>>
1> ]
1> and
1> [
1> _Elem=wchar_t,
1> _Traits=std::char_traits<wchar_t>,
1> _Alloc=std::allocator<wchar_t>
1> ] |