ciao.
ho il seguente codice:
codice:
bool String::operator==(const std::string &str) const
{
return (*this == Step::String(str));
}
dove String deriva direttamente da std::wstring e offre alcune altre personalizzazioni.
il problema è che questa funzione mi da il seguente errore:
codice:
1)Errore
C:\ifc\src\Step\String.cpp(26): error C2679: binary '==' : no operator found which takes a right-hand operand of type 'Step::String' (or there is no acceptable conversion)
2)Warning
C:\ifc\src\Step\String.cpp(454): warning C4066: characters beyond first in wide-character constant ignored
ho provato nelle proprietà del progetto a cambiare il set dei caratteri su unicode ma niente , non riesco proprio a capire cosa sia che causa il problema.
questo è per il warning:
codice:
unsigned int code = fromHex(s[i]) * (1 << 4) + fromHex(s[i + 1]);
if (code >= 0x80 && code <= 0x9F)
{
if (code == 0x83)
code = 0xC9;
else if (code == 0x89)
code = L'â';
else if (code == 0x8D)
code = L'ç';
else if (code == 0x8E)
code = L'é';
else if (code == 0x8F)
code = L'è';
else if (code == 0x90)
code = L'ê';
else if (code == 0x99)
code = L'ô';