lukasz0393 Temat założony przez niniejszego użytkownika |
[Error] cannot convert 'double' to 'double (*)(double, double)' for argument '3' to 'double calculate(double, double, double (*)(double, double))' » 2014-06-02 21:03:09 witam, chciałbym żeby w pętli for funkcja calculate wywoływała funkcje (dodawanie, odejmowanie...) z tablicy funkcji dzialania, chcąc to uzyskać w wywołaniu funkcji calculate korzystam z adresu pierwszego elementu. Chciałbym żeby program działał w ten sposób ale niestety nie mogę sobie poradzić z tym errorem, więc proszę o pomoc :) #include<iostream> double dodawanie( double x, double y ); double odejmowanie( double x, double y ); double dzielenie( double x, double y ); double mnozenie( double x, double y ); double calculate( double x, double y, double( * wsk_na_funkcje )( double, double ) );
int main() { using namespace std; double liczba1, liczba2, wynik; double( * dzialania[ 4 ] )( double, double ) = { dodawanie, odejmowanie, dzielenie, mnozenie }; double( ** wsk )( double, double ) = dzialania; do { cout << "Podaj pare liczb. Jesli chcesz zakonczyc wcisnij x.\n"; cin >> liczba1 >> liczba2; for( int i = 0; i < 4; i++ ) { wynik = calculate( liczba1, liczba2, wsk[ i ]( liczba1, liczba2 ) ); cout << wynik << endl; } } while( cin ); return 0; }
double dodawanie( double x, double y ) { return x + y; }
double odejmowanie( double x, double y ) { return x - y; }
double dzielenie( double x, double y ) { return x / y; }
double mnozenie( double x, double y ) { return x * y; }
double calculate( double x, double y, double( * wsk_na_funkcje )( double, double ) ) { return( * wsk_na_funkcje )( x, y ); } [/i] |
|
Monika90 |
» 2014-06-02 21:29:54 po prostu tak calculate( liczba1, liczba2, wsk[ i ] );
albo lepiej calculate( liczba1, liczba2, dzialania[ i ] );
bo wsk nie jest potrzebne |
|
lukasz0393 Temat założony przez niniejszego użytkownika |
» 2014-06-02 21:34:30 wtedy pokazuje się ten sam error, ale kiedy zamiast dzialania(liczba1, liczba2), odnoszę się do konkretnych adresów np. dodawanie, to wtedy program działa |
|
Monika90 |
» 2014-06-02 21:41:57 |
|
lukasz0393 Temat założony przez niniejszego użytkownika |
» 2014-06-02 21:47:24 faktycznie :D działa! bardzo dziękuję za pomoc. |
|
« 1 » |