2011-02-16 91 views
1

當我嘗試編譯下面的代碼:basic_string的預期初始編譯錯誤

#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支持,一旦我找出如何使用它。

回答

4

標題是<string>而不是<string.h>

沒有標準庫頭以擴展名結尾。 (你包括C頭文件string.h,它應該通過<cstring>包含在C++中,這是你真正想要的。)

+0

作品,謝謝。 – alius 2011-02-16 12:21:13