Ist es möglich, zwei Versionen der gleichen Funktion zu haben, die bis auf den Rückgabetyp und die Konstante identisch sind?
Das glaube ich nicht. Das folgende Beispiel zeigt das. Aber ich kenne den Grund nicht.
#include<iostream>
using namespace std;
class A
{
private:
int bb ;
public:
double f1(int a) const {cout << "double f1 is called " << endl; return 0.0; }
int f1(int a) {cout << "int f1 is called " << endl ; return 0; }
};
int main()
{
int b = 6;
A aa;
double c= aa.f1(b);
return 0 ;
}
Ausgabe:
int f1 wird aufgerufen
Warum kann double f1(int a) const nicht gezählt werden?