列表<string> </string>的编译器错误

时间:2011-03-19 20:55:28

标签: c++ string list stl managed-c++

我正在尝试按照示例here创建字符串列表。下面给出了语法错误:

private: list<string> images;

错误(所有在上述声明的行上):

syntax error : missing ';' before '<'
missing type specifier - int assumed. Note: C++ does not support default-int
unexpected token(s) preceding ';'

除了它之外,它只在一个只有一个构造函数的类中,没有它就可以编译好。我做错了什么?

2 个答案:

答案 0 :(得分:4)

#include<list> <string>了吗?此外,您是否通过编写

list导入了名称stringnamespace std
using namespace std;

using std::list;   using std::string;

您获得的错误与无法访问的名称一致,因此这是我最好的猜测。

编辑:由于这是在头文件中,您不应该使用上述任何一种结构(感谢wilhelmtell指出这是一个头文件!)。相反,您应该将名称完全限定为

private: std::list<std::string> images;

这样编译器就可以确切地知道在哪里查找liststring

答案 1 :(得分:0)

您需要使用namespaceliststring类型进行限定。

std::list<std::string>using namespace std;指令后输入#include <string>或添加#include <list>

一个简单的工作程序:

#include <list>
#include <string>
using namespace std;
int main ( int, char ** )
{
    list<string> strings;
    strings.push_back("1st string");
}
相关问题