Hallo werte User, ich hab grad ein Problem mit nem Struct und Funktionspointern. Was läuft hier falsch? const struct { uint8_t *(check_window_pos_fptr)(void); uint8_t close_partially; uint8_t dont_close; } config_array[] = { { Get_WindowsOpenPercentFL(), IND_FLAG_PARTIALLY_CLOSE_LEFT, IND_FLAG_DONT_CLOSE_LEFT }, { Get_WindowsOpenPercentFR(), IND_FLAG_PARTIALLY_CLOSE_RIGHT, IND_FLAG_DONT_CLOSE_RIGHT } }; Warum bekomm ich für den Funktionspointer eine Fehlermeldung(s.u. - Zeile: 251)? ksg_ext.c:251: error: field 'check_window_pos_fptr' declared as a function ksg_ext.c:254: warning: initialization makes pointer from integer without a cast ksg_ext.c:255: warning: initialization makes pointer from integer without a cast ksg_ext.c:254: warning: unused variable 'config_array' Ich würde mich über Eure Hilfe sehr freuen. Vielen Dank und Gruß, Christian
Christian schrieb: > const struct { uint8_t *(check_window_pos_fptr)(void); > [blabla] > Warum bekomm ich für den Funktionspointer eine Fehlermeldung(s.u. - > Zeile: 251)? Das ist kein Funktionspointer. Es wäre so eigentlich eine Funktion, nur der fehlt der Rumpf und sie darf dort nicht vereinbart werden...
1 | /* Zeiger auf Funktion, die uint8_t zurückgibt */
|
2 | uint8_t (*check_window_pos_fptr)(void); |
3 | |
4 | /* Zeiger auf Funktion, die Zeiger auf uint8_t zurückgibt */
|
5 | uint8_t *(*check_window_pos_fptr)(void); |
Besten Dank für die schnelle Antwort!! Hast mir den Abend gerettet :) Ich glaube ich sollte mir mal wieder mein C-Buch unters Kopfkissen legen ... Also nochmals vielen lieben Dank und einen wunderschönen Abend! :) Christian
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.