2016-04-04 13 views
0

nicht sicher, warum Fehler auf dieser Funktion geschieht, wenn ich die variable Länge const auf einer anderen Funktion gemachtRückgabewert Typ nicht die CONST Funktionstyp entsprechen

int list::length() const { 
return length; 
} 

CPP Datei Above

Header-Datei BELOW

class list { 

private: 
struct Node 
{ 
int info; 
Node *next; 

}; 


int length; 
Node *head; 


public: 

list(); 
list(const list& otherlist); 
~list(); 


int list::length() const; 

}; 

Antwort

1

Das erste Problem ist, dass Sie length() innerhalb Ihrer Klasse qualifizieren. Entfernen Sie list::. Das zweite Problem ist, dass Ihre Mitgliedsvariable length und Ihre Mitgliedsfunktion length miteinander in Konflikt stehen, weil sie denselben Namen haben.

Ich würde Ihre Mitglieder umbenennen, damit sie nicht mit den Funktionen kollidieren. Betrachten Sie length_ und head_.

Edit: bitte auch Compiler-Fehler in der Zukunft veröffentlichen, wie es andere Leser macht Arbeitsplätze ein wenig einfacher :)

+0

danken Ihnen so sehr. Das war definitiv das Problem !! – Carlitos

Verwandte Themen