为什么当我做以下我遇到与wchar_t有关的错误?typedef'ing STL wstring
namespace Foo
{
typedef std::wstring String;
}
现在,我宣布我的所有字符串为Foo ::字符串,通过了计划,但是当我曾试图创建从wchar_t的一个新的Foo ::字符串*我得到一个错误,例如:
namespace Bar
{
static const wchar_t* COMMON_BAR = L"Hello";
}
int main()
{
Foo::String A(Bar::COMMON_BAR);
};
我从Visual Studio中的以下错误:
error C2440: '<function-style-cast>' : cannot convert from 'const wchar_t *' to 'Foo::String'
的哪些错误?
编辑对不起,我彪说酒吧:: COMMON_BAR :(
而且我正在编制上的Visual Studio 2008年,我真的被这个沮丧。
编辑#2
抱歉,我无法对此做出回应,问题变成了比我想要的更大的问题,现在我注意到使用std :: wstring;在代码中有多少东西在浮动......
这是全局头文件的绝对底部。
// WStrings are a waste
// Feb 2007
#define wstring string
呃。谢谢,对不起,这是有点空间:(浪费
投票结束为*不是一个真正的问题*,因为它不是可重复的,由几个答案证明他们没有问题编译相同的代码。我并不否认你的程序被破坏了,但我很清楚你在这个问题上询问的不是原因。 – 2009-11-13 06:10:42
请显示不能编译的_complete_源代码。因为这样做。 – 2009-11-13 06:24:06
这可能会浪费太空的空间,但请将这一行代码发布到TheDailyWTF--这真是太棒了,值得一些宣传。 – 2009-11-14 00:51:51