Einzelnen Beitrag anzeigen

DMW

Registriert seit: 6. Sep 2006
Ort: Münster
269 Beiträge
 
Delphi XE Professional
 
#2

Re: [C++] problem mit const-deklaration

  Alt 5. Jun 2008, 02:10
Ich nehme an, NetworkStack leitet con cModule ab.

Zitat von Haegar:
Code:
cGate *cModule::gate(const char *s, int sn)

const cGate *cModule::gate(const char *s, int sn) const

ich vermute mal stark der compiler sucht sich die richtige Methode raus, weil die Parameter sind ja identisch.
Nicht so ganz. Nach dem Rückgabewert wird eine Funktionsüberladung grundsätzlich nicht aufgelöst. Entscheidend ist hier, ob du ein const-Objekt hast oder nicht - und da die Methode getExternalGate() als const deklariert ist, geht sie von einem konstanten Objekt aus, d.h., es steht überhaupt nur die letzte Variante zur Verfügung. Und einen const cGate-Zeiger darfst du nunmal nicht an einen cGate-Zeiger zuweisen.
Moritz
  Mit Zitat antworten Zitat