Nach dem Erstellen einer Templates-C++ - Klasse, die eine Ganzzahl in einer Headerdatei verwendet, habe ich festgestellt, dass Eclipse meine Methodenimplementierungen in der entsprechenden CPP-Datei nicht erkennt.Die Memberdeklaration wurde nicht gefunden, wenn die Klassenvorlage eine Ganzzahl annimmt
Hier ist ein Beispiel-Klasse, die eine Größe Template-Parameter nimmt:
template <int SIZE>
class SizeableClass
{
public:
SizeableClass();
virtual ~SizeableClass();
};
ich Eclipse-sagte den Durchführungsstellen für mich zu generieren mit Source => Methode implementieren ...
Es einige Inline-Verfahren hergestellt in der Header-Datei. Ich habe sie in die .cpp-Datei verschoben, um Ordnung zu schaffen, und den Qualifizierer inline
entfernt. Meine .cpp Datei sah jetzt so aus:
Aber das war rot mit dem "Member declaration not found" Fehler unterstrichen. Es wird nicht kompilieren mit gcc
entweder:
SizeableClass.h:2:7: error: provided for ‘template<int SIZE> class SizeableClass’
class SizeableClass
^
Was ist damit passiert?
Für wen auch immer abgelehnt/gewählt zu schließen: Könnten Sie sich rechtfertigen, damit ich die Frage verbessern kann? – CJxD
Dies ist ein Fehler in CDTs "Implement-Methode" -Operation. Ich habe https://bugs.eclipse.org/bugs/show_bug.cgi?id=510289 abgelegt, um sie zu verfolgen. – HighCommander4