ошибки компилятора — c ++ не правильно компилируется

Я создаю структуру данных, но когда я пытаюсь скомпилировать, я получаю сообщение об ошибке, говорящее, что я не указал тот тип набора, который я инициализирую.

Я работаю с библиотекой 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: ошибка: ожидается twoPow.cpp: В функции-члене \ u2018bool tenTree :: isKnown (NTL :: RR) \ u2019:
twoPow.cpp: 44: ошибка: \ u2018powers \ u2019 не был объявлен в этой области

Есть ли что-то, что мне здесь не хватает?

3

Решение

Это был просто вопрос масштаба. Все, что мне нужно было сделать, это добавить std :: перед множеством, и оно скомпилировалось правильно.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]