【发布时间】:2012-04-23 05:30:11
【问题描述】:
我有一个 C++ 重载函数,它的一个变体接收 wstring 作为参数,但是当我像 myfunc(L"Some text") 一样调用它时,编译器抱怨没有接受 wchar_t * 的函数变体。
我该怎么办?
稍后编辑:
Lucru();
Lucru(short,short,short,short,wstring,wstring,wstring,wstring,wstring,wstring);
这是函数在其声明中的样子。正如这所暗示的,它是一个类的构造函数......
【问题讨论】:
-
myfunc(std::wstring(L"Some text"));? -
对我来说很好。你用的是什么编译器?确切的错误信息是什么?
myfunc还有哪些其他重载?你能发布一个更完整的例子吗? -
接受字符指针的std::basic_string constructor 不是
explicit所以myfunc(L"Some text")应该可以工作。请发布您的函数签名和一个如何调用它的示例。 Here's 一个例子。 -
@Prætorian 我的函数实际上是一个对象构造函数,其中一个变体以
wstrings 作为其一些参数。 -
@PetruDimitriu 没关系,我所说的一切仍然适用
标签: c++ function wchar-t wstring