LDI::LDI (string _name, int _value):Instruction(_name,_value){}
Вам необходимо предоставить конструктор для производного класса LDI
, который, в свою очередь, вызывает правильный конструктор базового класса.
ptr = new LDI("test", 22);
На данный момент компилятор ищет конструктор LDI
, который принимает (string,int)
в качестве аргументов, поскольку такого конструктора не предусмотрено, если компилятор выводит.
LDI(string _name, int _value)
{
}
Предоставление конструктора производного класса решит проблему компиляции. Но по умолчанию конструктор производного класса не будет вызывать соответствующий конструктор базового класса; в этом случае Instruction(_name,_value)
(он вызывает только конструктор по умолчанию).
Чтобы вызвать правильный конструктор базового класса, необходимо вызвать конструктор базового класса из списка инициализатора производного класса.
так.
LDI::LDI (string _name, int _value):Instruction(_name,_value){}