我正在创建一个数据结构,但是当我尝试编译时,我收到一条错误消息,说我没有指定我正在初始化的集合类型。
我正在使用用于大量数据的 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: 错误: 预期 \u2018;\u2019 之前 \u2018<\u2019 令牌
twoPow.cpp: 在成员函数 \u2018bool tenTree::isKnown(NTL::RR)\u2019:
twoPow.cpp:44: error: \u2018powers\u2019 未在此范围内声明
我在这里缺少什么吗?