У меня есть библиотека С++ с C API на основе обратного вызова. Тип обратного вызова выглядит следующим образом:
typedef struct {...} Result;
typedef void (*callback) (const Result* result, void* userData);
Пользователь может зарегистрировать такой обратный вызов и может установить указатель на произвольные данные, и библиотека передаст этот указатель обратно через обратный вызов.
Моя главная забота здесь: нарушает ли это строгое правило псевдонимов или нет? Нужно ли менять тип userData на char*?