У меня есть структура, которая в настоящее время выглядит следующим образом (сокращенно, чтобы показать только основные части):
typedef struct {
uint32_t baudrate;
... some other internally used values here
void (*request_received)(void* hbus); //< this is what I'm talking about
} hbus_options_t;
Это работает.По сути, он содержит указатель на функцию, который принимает указатель на параметр типа void.
На самом деле мне бы хотелось, чтобы это было легче понять:
typedef struct {
uint32_t baudrate;
... some other internally used values here
void (*request_received)(hbus_options_t* hbus); //< this doesn't work
} hbus_options_t;
Очевидно, что компилятору нужнызнать структуру, прежде чем я смогу использовать ее.Как это обычно делается?Использование пустого указателя работает, но его сложнее понять.