Ich habe die Methode f()
in der Klasse A
und die untergeordnete Klasse B
, wo ich die Methode f(int)
hinzufüge. Also ich habe sowohl f()
als auch f(int)
in B
wenn ich das richtig verstehe. Ich möchte f()
in einer anderen Methode von B
verwenden, aber es ist ein Fehler.Hinzufügen einer Methode zu einer untergeordneten Klasse mit dem Namen einer geerbten Methode
class A {
public:
int f() {
return 3;
}
};
class B : public A {
int x;
public:
int f(int a) {
return a * 2;
}
void g() {
x = f();
// no matching function for call to 'B::f()'
// candidate is 'int B::f(int)'
}
};
Wenn ich f(int)
von B
entfernen wird es funktionieren.