Hallo,
Ich habe eine Frage bezüglich MVS2010 und Funktionszeiger, und zwar hab ich eine Fehlermeldung vom Syntaxhighlighter: Wert von "void(**)()" kann nicht zum Initialisieren einer Entität vom Typ "void(*)()" verwendet werden.
Da sich das Programm jedoch compilieren und fehlerfrei ausführen lässt, wollte ich fragen warum dieser Error auftaucht.
Mein Ziel ist es eine beliebige Funktion an eine Klasse zu übergeben, welche dann in einer Schleife ausgeführt wird.
mfg. Poseidon
Ich habe eine Frage bezüglich MVS2010 und Funktionszeiger, und zwar hab ich eine Fehlermeldung vom Syntaxhighlighter: Wert von "void(**)()" kann nicht zum Initialisieren einer Entität vom Typ "void(*)()" verwendet werden.
Da sich das Programm jedoch compilieren und fehlerfrei ausführen lässt, wollte ich fragen warum dieser Error auftaucht.
C++:
void f1() {printf("f1\n");}
void f2() {printf("f2\n");}
void run(void x())
{
void (*f)() = &x;
f();
}
int main()
{
run(f1);
run(f2);
getchar();
return 0;
}
Mein Ziel ist es eine beliebige Funktion an eine Klasse zu übergeben, welche dann in einer Schleife ausgeführt wird.
mfg. Poseidon