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'ô';