vilgeforce: автор получит предупреждение компилятора, поскольку он присваивает указателю на не-константу значение указателя на константу, но если компиляция закончится успешно (т.е. если это не с++ и не -Werror), то присвоение будет выполнено.
> Эти отдельные классы - не наследники базовых виджетов? timao: нет. В эти классы можно было бы собрать всю логику, касающуюся обновления бд данными из виджетов. Это выглядит более правильно, чем совать эту логику в виджеты, но и немного более многословно. Если нужно делать какие-то действия с бд инициируемые со стороны виджетов, точно так же можно этим классам дать второй интерфейс, обращённый в сторону виджетов.
> IUpdate как второй родитель timao: ну да, множественное наследование. Почему не решает? И почему вы выбрали этот вариант, вместо отдельных классов знающих о бд и о виджетах?
Армянское Радио: ну тогда надо начать с того, что массив нулевого размера в структуре -- это вообще не по стандарту. По стандарту (с99) -- массив с пустыми скобками (четвёртое, кстати, место). Неопределённое поведение возникает при обращении за пределы объекта на который "наложена" такая структура.