Ich habe ah, wie unten gezeigtC++ initialisiert für nicht-virtuelle Methode angegeben
class A
{
public:
void doSomething()=0;
};
Dann i bh haben, wie unten
gezeigt#include "a.h"
class b: public A
{
public:
void doSomething();
};
ich nur auf Syntaxfehler zu überprüfen, ich versuche, indem sie versuchen, zu kompilieren Header wie g++ -c a.h b.h
und ich bekomme unter errror
a.h:4: error: initializer specified for non-virtual method 'void A::doSomething()'
Was bedeutet dieser Fehler?
Es muss als virtuell deklariert werden: 'virtual void doSomething() = 0;' – jrok
Auch, warum kompilieren Sie Header? Das ist komisch. Sind Sie neu in der Strukturierung von Projekten in C++? – Wug