überladung
-
Hallo zusammen. Hab hier gerad ein kleines problem mit Funktionsüberladungen!
Ist aber nur ein Übungsbeispiel das laut stroustrup funktionieren müsste. Tut
es aber nicht und weiß nicht warum.ich habe eine Klasse A die vereinfacht so aussieht:
class A{
pubic:
void ausgabe(long);
};
class B{
public:
int ausgabe(string);
}
class AB: public A, public B{
public:
using A::ausgabe;
using B::ausgabe;
};Jetzt sollte er ja eigentlich beide Funktionen im Scope von AB haben und so
auch die überladung bei bedarf auflösen können. Bringt mir aber stattdessen eine
Compiler Fehlermeldung:
error C2875: using-Deklaration verursacht eine mehrfache Deklaration von 'B::ausgabe'sollte doch eigentlich nicht sein oder??????
-
Das sollte normal funktionieren, liegt vielleicht ein deinem Compiler ...
-
Ist das in deinem Quelltext genauso geschrieben wie oben?
Ansonsten fehlt ein l im public von A und ein Semikolon am Ende der Deklaration von B.
-
scheint ein visual studio 6 problem, der gcc nimmt es problemlos.
(natürlich mit verbesserten fehlern.. ;))vielleicht weiß jemand ein work arround.
-
habs auch gerad auf den .Net2003 ausprobiert und da geht es.
Hätte ich mir denken können das es wieder am Compiler liegt.
Kennt einer ne gute Alternative zu dem 6.0er??
arbeite manchmal mit dem .Net2003 aber ist ja auch nicht das ware, da der wohl
eher für die .Net programmierung gebaut wurde.
-
TomTom85 schrieb:
arbeite manchmal mit dem .Net2003 aber ist ja auch nicht das ware, da der wohl
eher für die .Net programmierung gebaut wurde.Unsinn.
-
TomTom85 schrieb:
arbeite manchmal mit dem .Net2003 aber ist ja auch nicht das ware, da der wohl eher für die .Net programmierung gebaut wurde.
Das einzige was daran stimmt ist, dass .Net2003 wirklich sehr anderst ist als VS6. Aber man muss sich nur umgewöhnen und dann merkt man auch schnell die Vorteile von VS7.
Grüssli
-
nimm doch Visual Studio 2005 Express -> kostenlos

-
elise schrieb:
vielleicht weiß jemand ein work arround.
Wozu?
