У меня есть глобальный файл include, содержащий набор структур. Где-то в моей программе у меня есть класс, содержащий массив-член. Количество элементов в этом массиве зависит от размера конкретного поля в определенной структуре. Я хочу сделать так, чтобы размер массива автоматически обновлялся, если изменяется размер поля структуры. Я был в состоянии сделать это успешно со следующим выражением:размер массива зависит от sizeof() поле struct
bool shadowChkBox[sizeof(FSCconfigType::WriteEn)*8*MAX_FSCS];
FSCconfigType тип и структура WriteEn является одним из полей. Теперь это сработало, но только на ubuntu. На RHEL 5 компилятор объявил это ошибкой. Какие еще альтернативы я мог бы сделать для этого? Я работаю с Qt.
Что ошибка вы получаете на RH? – 2010-11-28 21:48:49
Я подозреваю, что это больше связано с той версией GCC, которую вы используете, а не с какой версией Linux. – xscott 2010-11-28 21:50:00
Можете ли вы использовать тип поля напрямую, а не ссылаться на него через поле? Я предполагаю, что нет (потому что это причина, почему sizeof может измениться), но это не мешает проверить. – Steve314 2010-11-28 21:56:07