Witam! chciałbym aby wskaźnik wsk wskazywał i wywoływał funkcję f, oto kod mojego programu
#include using namespace std; int f(double arg) { cout << "Funkcja wywolana" << endl; } int main() { int (*wsk)(double) = f; (*wsk)(double); return 0; }
ale gdy próbuje skompilować ten kod wyskakuje mi błąd
expected primary-expression before ‘double’
Gdzie popełniłem błąd?
A cóż to:
(*wsk)(double);
Jeśli chcesz wywołać funkcję przez ten wskaźnik, to wyślij konkretny argument, np. 1.0.
#include using namespace std; int f(double arg) { cout << "Funkcja wywolana" << endl; return static_cast(arg); // Zapomniałeś że musisz coś zwrócić bo tak zbudowałeś funkcje } int main() { int (*wsk)(double) = f; cout< return 0; }