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

Zapisywanie i odczytywanie funkcji, deklaracja

VPS Starter Arubacloud
0 głosów
329 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 Mędrzec (154,780 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 Mędrzec (155,460 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ź 193 wizyt
pytanie zadane 10 stycznia 2018 w C i C++ przez Tomek112 Początkujący (310 p.)
0 głosów
1 odpowiedź 222 wizyt
pytanie zadane 7 lipca 2016 w Java przez 1naswiecie Początkujący (410 p.)
0 głosów
4 odpowiedzi 411 wizyt
pytanie zadane 5 stycznia 2016 w C i C++ przez Munvik Dyskutant (9,350 p.)

92,453 zapytań

141,262 odpowiedzi

319,087 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...