hiho,
also ich programmier primär in Java, C++ Erfahrung habe ich zwar aber es hält sich in Grenzen, habe hier auch eine Riesen C++ Bibel liegen (C++ Primer Plus) ... und mir is bewusst was "const" in den versch. Situationen bezweckt, aber das Problem was mir der Compiler nennt will mir nich klar werden.
hier nun mal etwas code:
Code:
/* vorgegebene Syntax der Methode */
cGate * NetworkStack::getExternalGate(cGate * outgate) const {
// Your task: return the external gate for the given internal gate
assert(outgate);
assert(strcmp(outgate->name(),"netOut") == 0);
//alles vorm "=" war gegeben, den Methodenaufruf habe ich eingefügt
cGate * retval = gate(outgate->name(),outgate->index());
assert(retval);
return retval;
}
so alles ausser der Aufruf mit gate is ja simpel, die Methode gate() gibt es in 2 folgenden Varianten:
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.
ich bekomme nun bei obigem Code folgende Fehlermeldung:
Zitat:
ungültige Umwandlung von >>const cGate*<< in >>cGate*<<
also nun die frage ... HÄÄ?
... sieht für mich so aus als ob er quasi die falsche Variante der beiden gate()-Methoden wählt, bin aber gerne für Weisheiten offen ^^