реклама на сайте
подробности

 
 
> Incomplete arrays at end of structs - почему не работают?, IAR howto
Сергей Борщ
сообщение Feb 23 2007, 14:22
Сообщение #1


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Читаю описание компилятора:
Цитата
The last element of a struct may be an incomplete array. This is useful because one chunk of memory can be allocated for the struct itself and for the array, regardless of the size of the array.
Вроде все понятно и логично. Беру пример из того же описания:
Код
struct str
{
  char a;
  unsigned long b[];
};
Компилю. Error[Pe070]: incomplete type is not allowed.

Режимы ставил и Embedded C++ и Extended Embedded C++ и галка "Allow IAR extentions" стоит.
Компилятор версии 4.30A, но и мануал от него(This guide applies to version 4.x of ARM IAR Embedded Workbench®).
Что же делать???


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ivstech
сообщение Feb 23 2007, 14:59
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 204
Регистрация: 5-01-06
Пользователь №: 12 860



У меня тоже компилятор IAR C/C++ Compiler for ARM 4.30A Evaluation (4.30.1.237)
Вставил этот код в свою программу, откомпилировалось. Language при этом стоит просто C
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 23 2007, 16:25
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(ivstech @ Feb 23 2007, 13:59) *
Language при этом стоит просто C
Проверил. Действительно, в режиме С компилятся.
Полез в стандарт. "Сам дурак". ISO/IEC 14882:1998(E). An object of array type contains a contiguously allocated non-empty set of N sub-objects of type T.
И правда, как иначе наследование делать?

Спасибо.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 00:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01371 секунд с 7
ELECTRONIX ©2004-2016