Ich versuche zu erklären, ein Verfahren typedef zu erklären, die einen Zeiger Parameter der Methode Typ selbst umfasst - ist das möglich?Wie ein Verfahren Zeiger als typedef Methodenparameter
Verfahren würde in etwa so aussehen:
void myFunc(FuncType* pFunc, int a) {}
wo myFunc
eine Erklärung, die FuncType
einstimmt, so konnte ich eine Variable und rufen Sie es wie folgt festgelegt:
FuncType f = myFunc;
f(&f, 5);
Ich habe versucht, Deklarieren eines typedef, der dieser Methode entspricht:
typedef void (*FuncType)(FuncType*, int);
Dies funktioniert jedoch nicht, da FuncType
erforderlich ist, bevor es vollständig deklariert ist. Ich kann das beheben, indem ich den Parameter auf einen void-Zeiger setze, aber es gibt einen Weg herum; vielleicht durch irgendeine Form der Vorwärtsdeklaration von FuncType
?
Ja, das dachte ich mir. Ich dachte, indem ich den Parameter als Zeiger auf den Typ deklariere, könnte ich damit genauso durchkommen wie structs und classes. Offensichtlich nicht. – adelphus