C2664: char * in VARIANT
-
Hallo, ich hoffe hier bekomme ich Hilfe.
Mein folgender Code erzeugt ein Fehler den ich nicht wegbekomme. Vielleicht weiß von euch jemand eine lösung, vielleicht ist es auch nur ne Kleinigkeit und ich sehe das nicht.
Hier der Code der den Fehler Verursacht ich nutzte VS2005:
CString CCANProgView::IntToStr(int iValue) { char chToReceive[20]; return _itoa(iValue,chToReceive,10); }Der Fehler:
error C2664: 'ATL::CStringT<BaseType,StringTraits>::CStringT(const VARIANT &)': Konvertierung des Parameters 1 von 'char *' in 'const VARIANT &' nicht möglich
with
[
BaseType=wchar_t,
StringTraits=StrTraitMFC_DLL<wchar_t>
]
Ursache: Konvertierung von 'char *' in 'const VARIANT' nicht möglich
Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutigDanke schon mal!
-
"BaseType=wchar_t," - das sieh nach einem Unicode-Problem aus - verwende mal lieber wchar_t bzw. TCHAR anstelle von char.
-
Sorry bin ziemlich neu mit den ganzen kram, wie sieht das dann aus?
-
Irgendwie scheint mir, dass Deine Funktion CCANProgView::IntToStr anders deklartiert ist. Wie steht es denn im Header der Klasse?