• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zapisywanie i odczytywanie funkcji, deklaracja

Fiszki IT
Fiszki IT
0 głosów
118 wizyt
pytanie zadane 18 grudnia 2020 w C i C++ przez pocoxo1124 Nowicjusz (120 p.)

Treść:

h jest tablicą trzech wskaźników do funkcji przyjmującej jako argument obiekt typu zmiennoprzecinkowego podwójnej precyzji i zwracającej wskaźnik do funkcji, przyjmującej jako argument wskaźnik do bezargumentowej funkcji zwracającej wartość typu całkowitego, a zwracającej wartość typu zmiennoprzecinkowego podwójnej precyzji

 

To co udało mi się napisać, natomiast to się nie kompiluje, więc chyba jest źle ;P

double (int *) * (*h[3])(double);

W tym zadaniu gubię się gdzieś w połowie.

2 odpowiedzi

0 głosów
odpowiedź 18 grudnia 2020 przez tangarr VIP (136,480 p.)

Wydaje mi się, że to powinno wyglądać następująco

long long (* (*h[3])(double))();

Jednak jako, że taki zapis jest cholernie nieczytelny proponuję rozbić go na trzy linijki

typedef long long f1();
typedef f1* f2(double);
f2* h[3];

 

0 głosów
odpowiedź 19 grudnia 2020 przez mokrowski VIP (145,420 p.)
/*
 * h jest tablicą trzech wskaźników do funkcji (1)
 * przyjmującej jako argument obiekt typu
 * zmiennoprzecinkowego podwójnej precyzji
 * i zwracającej wskaźnik do funkcji (2),
 * przyjmującej jako argument wskaźnik
 * do bezargumentowej funkcji (4)
 * zwracającej wartość typu całkowitego (3),
 * a zwracającej wartość typu zmiennoprzecinkowego podwójnej precyzji
 */
/* (3) */
int (*func3)();

/* (2) */
double (*func2)(int (*)());

/* (1) (2) */
double (*(*h[3])(double))(int (*)()); // To jest docelowa tablica funkcji

/* (4) */
double (*(*fun)(double))(int (*)());

int main(void) {
	h[0] = fun;
	h[1] = fun;
	h[2] = fun;
}

 

Podobne pytania

0 głosów
1 odpowiedź 114 wizyt
pytanie zadane 10 stycznia 2018 w C i C++ przez Tomek112 Początkujący (310 p.)
0 głosów
1 odpowiedź 79 wizyt
pytanie zadane 7 lipca 2016 w Java przez 1naswiecie Początkujący (410 p.)
0 głosów
4 odpowiedzi 282 wizyt
pytanie zadane 5 stycznia 2016 w C i C++ przez Munvik Dyskutant (9,350 p.)
Porady nie od parady
Publikując kody źródłowe korzystaj ze specjalnego bloczku koloryzującego składnię (przycisk z napisem code w edytorze). Nie zapomnij o ustawieniu odpowiedniego języka z rozwijanego menu oraz czytelnym formatowaniu kodu.Przycisk code

84,721 zapytań

133,526 odpowiedzi

295,919 komentarzy

55,997 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...