c ++设置不正确编译

时间:2013-07-17 23:20:41

标签: c++ compiler-errors set ntl

我正在创建一个数据结构但是当我尝试编译时,我得到一个错误,说我没有指定我正在初始化的那种类型的集。

我正在使用NTL库,用于大量数据。

这是我的代码:

#include <set>
#include ...

NTL_CLIENT

using namespace std;
using namespace NTL;

const RR ZERO = to_RR(0);
const RR ONE = to_RR(1);
const RR TWO = to_RR(2);

class tenTree
{
   public:
      tenTree(string  newName = "", int newLevel = 0);
      ~tenTree();
      void put(string prefix, RR power);
      bool get(string prefix, RR & output);
      void display(int depth);
      bool isKnown(RR power){return (powers.find(power) != powers.end());};
   private:
      tenTree* children [10];
      set<int> powers;
      int level;
      string name;
      bool child[10];
};

当我尝试编译时,会返回错误信息:

  

twoPow.cpp:47:错误:ISO C ++禁止声明\ u2018set \ u2019没有类型
  twoPow.cpp:47:错误:预期\ u2019 \ u2019 \ u2018&lt; \ u2019标记
  twoPow.cpp:在成员函数\ u2018bool tenTree :: isKnown(NTL :: RR)\ u2019:
  twoPow.cpp:44:错误:\ u2018powers \ u2019未在此范围内声明

我在这里缺少什么东西吗?

1 个答案:

答案 0 :(得分:0)

这只是范围的问题。我所要做的就是在集合之前添加一个std ::并正确编译。