[wxWidgets + VC++6] ambiguous opetaror & string unicode

ambiguous opetaror & string unicode [wxWidgets + VC++6] - C++ - Programmation

Marsh Posté le 11-06-2006 à 00:16:34    

Bonsoir,
 
J'ai un petit problème à la compilation d'un projet wxWidgets (wxWindows pour les intimes)...
Sur une machine la compilation s'effectue sans problème, et sur une autre (configuré à priori identique) j'ai une méchante erreur  
"C:\WXWINDOWS-2.4.2\INCLUDE\wx/string.h(1255) : error C2593: 'operator +' is ambiguous" ...
D'où cela peut-il venir ? Je n'ai surchargé aucun opérateur + par moi-même, et il me dit que ceux de wxString sont ambigus !
J'ai par contre effectué des conversions string vers wxString,mais la suppression de ces passages ne change rien...
Au secours !
 
Merci pour votre aide


Message édité par Mariooo le 11-06-2006 à 09:26:29
Reply

Marsh Posté le 11-06-2006 à 00:16:34   

Reply

Marsh Posté le 11-06-2006 à 00:55:01    

pfiou, j'ai imaginé une seconde voir le code fautif, mais heureusement non, ca aurait été trop facile sinon.

Reply

Marsh Posté le 11-06-2006 à 01:37:10    

Probleme d'encodage? ton wxWidgets est unicode et pas ton string?

Reply

Marsh Posté le 11-06-2006 à 09:18:21    

Il est possible que cela soit un problème d'encodage oui...
 

Code :
  1. #if wxUSE_UNICODE
  2. inline wxString operator+(const wxString& string, const wxWCharBuffer& buf)
  3.     { return string + (const wchar_t *)buf; }
  4. inline wxString operator+(const wxWCharBuffer& buf, const wxString& string)
  5.     { return (const wchar_t *)buf + string; }
  6. #else // !wxUSE_UNICODE
  7. inline wxString operator+(const wxString& string, const wxCharBuffer& buf)
  8.     { return string + (const char *)buf; }
  9. inline wxString operator+(const wxCharBuffer& buf, const wxString& string)
  10.     { return (const char *)buf + string; }
  11. #endif // wxUSE_UNICODE/!wxUSE_UNICODE


C'est le bout de code (dans wx/string.h) où l'erreur me mène quand je double clique dessus.
 
Comment remédier à cette histoire d'unicode ?


Message édité par Mariooo le 11-06-2006 à 09:20:45
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed