Как хранить объект класса внутри самого класса?Хранить объект класса внутри самого класса
Я знаю, что мне нужно использовать статическое ключевое слово для выполнения того, что я хочу. Таким образом, класс должен выглядеть примерно так:
class my_class {
public:
static my_class instance;
my_class() {
my_class::instance = this
}
};
Ниже приводится точный код, как он появляется в классе
namespace ArmISA {
class ISA {
protected:
static ISA* isa;
MiscReg miscRegs[NumMiscRegs];
const IntRegIndex *intRegMap;
.....
public:
ISA() {
ISA::isa = this;
...
}
...
};
}
Ошибки я получаю:
error: could not convert 'ArmISA::ISA::isa' from 'ArmISA::ISA*' to 'ArmISA::ISA'
ошибка не вызвана представленным кодом –
Я вижу, очень хорошо, я постараюсь углубиться в то, что может быть причиной. Однако, похоже, он компилируется, когда я использую 'static ISA isa; ISA :: isa = * this; ' Означает ли это, что такое проблема? Может быть, это какая-то форма неполного объявления? –