basic_string期望初始化程序编译错误

时间:2011-02-16 11:56:18

标签: c++

当我尝试编译以下代码时:

#include <string.h>
using namespace std;
typedef std::basic_string<char> foostring;
foostring foo = "foo";

我收到以下错误:

stringtest.cpp:5: error: expected initializer before ‘<’ token
stringtest.cpp:6: error: ‘foostring’ does not name a type

我的编译器是:g ++(Ubuntu 4.4.1-4ubuntu9)4.4.1
我究竟做错了什么?一旦我弄清楚如何使用它,我打算在Windows TCHAR中使用它来获得unicode支持。

1 个答案:

答案 0 :(得分:4)

标头为<string>,而不是<string.h>

没有标准库标题以扩展名结尾。 (你要包含C标题string.h,它应该通过<cstring>包含在C ++中,这就是你真正想要的。)