Ich habe eine C++ überladene Funktion und eine seiner Varianten erhält eine Wstring als Parameter, aber wenn ich es wie myfunc(L"Some text")
nennen, beschwert sich der Compiler, dass es keine Variante der Funktion, die akzeptiert wchar_t *
.Instantiate C++ - Funktion mit Wstring anstelle von wchar_t
Was soll ich tun?
SPÄTER EDIT:
Lucru();
Lucru(short,short,short,short,wstring,wstring,wstring,wstring,wstring,wstring);
Dies ist, wie die Funktion in ihrer Erklärung sieht. Da dies schon sagt, ist es eine Konstruktorfunktion für eine Klasse ...
'myfunc (std :: wstring (L" Irgendein Text "));'? – cHao
Funktioniert gut für mich. Welchen Compiler benutzen Sie? Was ist die genaue Fehlermeldung? Welche anderen Überladungen hat "myfunc"? Können Sie ein vollständigeres Beispiel veröffentlichen? –
Der [std :: basic_string-Konstruktor] (http://en.cppreference.com/w/cpp/string/basic_string/basic_string), der einen Zeichenzeiger akzeptiert, ist nicht explizit, also 'myfunc (L" Irgendein Text ") 'sollte funktionieren. Bitte posten Sie Ihre Funktionssignaturen und ein Beispiel dafür, wie Sie es aufrufen. [Hier ist] (http://ideone.com/My7iK) ein Beispiel. – Praetorian