Я создаю структуру данных, но когда я пытаюсь скомпилировать, я получаю сообщение об ошибке, заявляя, что я не указал этот тип набора, который я инициализирую.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: error: ISO C++ forbids declaration of \u2018set\u2019 with no type
twoPow.cpp:47: error: expected \u2018;\u2019 before \u2018<\u2019 token
twoPow.cpp: In member function \u2018bool tenTree::isKnown(NTL::RR)\u2019:
twoPow.cpp:44: error: \u2018powers\u2019 was not declared in this scope
Есть ли что-то, что я здесь отсутствует?
Я предполагаю, что это файл заголовка. Plase ** никогда не делает 'использование пространства имен ...;' в файле заголовка. – chris
Да, шлепните std :: на там ... – jdero
К сожалению, моя школа заставляет нас поместить весь наш код в один файл. Это не заголовок. – Schuyler