Funktionsdeklaration - inline implementiert's sich, anders nicht
-
Hier mein Problem: Die Funkton weiter unten laesst sich nur inline implementieren, was ich echt nicht verstehen kann (oder ich hab 'nen dummen Fehler gemacht oder bin selber dumm):
#include <iostream> class Item { public: class ID { }; Item(const ID& id):m_id(id) {} virtual ~Item() {} virtual ID& id(); private: ID m_id; }; //Wenn ich diese Funktion inline deklariere, funktioniert's, //sonst aber gibt's 'nen "syntax error before '&' token" const ID& Item::id() const { return m_id; } int main() { return 0; }
Soll ich mich jetzt etwa entscheiden: Entweder inline oder gar nicht?
Was mache ich falsch?
-
Hallo,
es muss so heissen:
const Item::ID& Item::id() const { return m_id; }
schliesslich ist ID innerhalb von Item deklariert.
mfg
v R
-
Achja, genau! War also doch die eigene Dummheit.
Danke.