在类中使用std :: set?

时间:2009-10-15 21:36:54

标签: c++ syntax

我正在尝试使用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”行,或者不允许在那里写?

3 个答案:

答案 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