class Alarm: public QObject, public IAlarm
{
Q_OBJECT
public:
Alarm(short nGreen,
short nYellow,
short nRed,
short duration);
~Alarm(void);
bool isOn( void ) const;
void setOn( bool on );
QTimer* getTimer( void );
void setGreen( bool on );
void setYellow( bool on );
void setRed( bool on );
}
Wieso erhalte ich beim kompilieren folgende Fehlermeldung, obwohl die rein virtuelle Methode virtual QTimer* getTimer( void ) implementiert ist in Alarm?
>Alarm.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual class QTimer * __thiscall Alarm::getTimer(void)" (?getTimer@AlarmManager@@UAEPAVQTimer@@XZ)".
1>C:\Alarm.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
stardust5383 hat geschrieben:
Wieso erhalte ich beim kompilieren folgende Fehlermeldung, obwohl die rein virtuelle Methode virtual QTimer* getTimer( void ) implementiert ist in Alarm?
Das ist keine Compilermeldung sondern ein Linkerfehler. Aber zur "implementierten Methode": ist sie das? Ich meine, wir sehen hier im Code-Auszug ja nur die Deklaration... hast du sie denn auch implementiert?