Сейчас я пишу небольшой редактор графических форм.
Мне нужно добавлять к элементам формы callbacks, причем что в callback приходит всегда ссылка на объект типа widget (базовая структура данных, которая для разных типов виджетов только обрабатывается по-разному). Мне нужно предоставить пользователю возможность к определенной группе объектов добавлять свои поля данных.
Но загвоздка в том, как в callback определить тип для user data текущего объекта, если во всех widget поле user имеет тип void *, а в один и тот же callback могут приходить разные widget (например, в callback по нажатию мыши)?