我正在尝试使用std :: set和类进行组合,如下所示:
#include <set>
class cmdline
{
public:
cmdline();
~cmdline();
private:
set<int> flags; // this is line 14
};
但是,它不喜欢设置标志;部分:
cmdline.hpp:14: error: ISO C++ forbids declaration of 'set' with no type
cmdline.hpp:14: error: expected ';' before '<' token
make: *** [cmdline.o] Error 1
据我所知,我给了一个类型(int)。你是否以不同方式编写“set variable”行,或者不允许在那里写?
答案 0 :(得分:10)
您需要使用std::set
; set
位于std
命名空间中。
答案 1 :(得分:3)
您的意思是std::set
。
答案 2 :(得分:3)
您必须使用std :: namespace(适用于所有STL / SL类)。
std::set< int > myset;
或
using namespace std; // don't do this in a header - prefer using this in a function code only if necessary