1
我有一个类头文件象下面这样:重新定义默认参数:参数2
TString.h
namespace Utils
{
class UTILS_API TString
{
public:
TString(const TString& tstr);
TString(LPCTSTR tstr = NULL, int len = -1);
TString(LPCSTR str, int len = -1);
..........................
}
它给错误:错误C2548: 'utils的:: TString :: TString':缺少参数2的默认参数
我想,我可以在头文件中分配默认值,这是正确的;那么为什么这个错误显示?
如何清除此错误?
首先,什么字符集完全相同的类型,但不同的默认参数是你们两个功能编译?如果它是MBCS或“None”,那么您的代码将不会编译,因为“LPCSTR == LPCTSTR”。如果你想区分窄字符串和宽字符串,你应该制作一个'LPCWSTR'和另一个'LPCSTR'。 – PaulMcKenzie