Ich habe ein class
Wie unterscheidet man Zeiger zu überladenen Funktionen?
struct MyClass
{
...
bool (* IsValid)(MyClass * self, int type);
bool (* IsValid)(MyClass * self, char * str);
};
relevanten Funktionen
bool IsValidMyClass(BitMask * self, int mask)
{
...
}
bool IsValidMyClass(BitMask * self, char * str)
{
...
}
und eine CTOR
-ähnliche Funktion
MyClass BuildMyClass()
{
res.IsValid = IsValidMyClass; //(MyClass * self, int type);
res.IsValid = IsValidMyClass; //(MyClass * self, char * str);
return res;
}
Und hier habe ich in confuse bekam - wie sagt man Compiler eine tun richtige Zuordnung?
, die nicht kompiliert werden, da Sie nicht zwei Mitglieder einer Struktur mit dem gleichen Namen in C –
Es gibt keine überladenen Funktionen in C 'BitMask & self' keine gültige C-Deklaration haben. Vielleicht studierst du die falsche Sprache. –
Dies ist offensichtlich C++. Sie müssen das Tag ändern. – HolyBlackCat