Kurze Frage zum überladen ?
-
Ist es richtig das ich eine Methode nicht folgendermaßen überladen kann ? :
void A::func(const int a) {....} void A::func(int a) {...}
-
probiers doch aus?!?
sollte eigentlich nicht gehen, da der aufruf komplett gleich istedit:: unter VC++ 2010 Pro geht es nicht, da hagelt es fehler
-
Es handelt sich bei beiden Signaturen um die gleiche Funktion, Überladung ist also nicht möglich.
Aber da Top-Level-
constin Parameterdeklarationen keine wirklichen Vorteile hat, ist dieses "Problem" verkraftbar. Nimm einfach immerint, zumindest bei der Schnittstelle bringtconstauf höchster Ebene rein gar nichts, im Gegenteil.
-
Warum genau bringt es nichts hier const zu verwenden ?
Möchte ich meinen Parameter im rumpf nicht ändern bliebt mir doch keine andere Wahl oder ?
-
Bacid90210 schrieb:
Warum genau bringt es nichts hier const zu verwenden ?
Möchte ich meinen Parameter im rumpf nicht ändern bliebt mir doch keine andere Wahl oder ?In dem Fall ist der Parameter aber eh eine Kopie, und daher ist es eigentlich ziemlich egal ob er const oder nicht const ist, bei Zeigern und Referenzen, wo es durchaus wesentliche Unterschiede geben kann, sehe ich das natürlich anders.
-
Ok , dankeschön erstmal für eure Antworten .
-
Vielleicht solltest du dir auch
constexpranschauen. Es könnte etwas mit deinem Problem zu tun haben.
-
EOutOfResources schrieb:
Vielleicht solltest du dir auch
constexpanschauen. Es könnte etwas mit deinem Problem zu tun haben.Definitiv nicht. Ausserdem heisst das Schlüsselwort
constexpr.