int main()
{
int a[0];
}
gcc-4.1.1 и gcc-3.3.6 это успешно компилирует.
А еще, странно, но и icc-8.0, и icc-9.1 под Linux это тоже компилируют, а вот в версиях под Windows нет.
Получается, что в версиях icc-8.0 и icc-9.1 под Linux тоже баг.
Здравствуйте, FF, Вы писали:
FF>FF>int main()
FF>{
FF> int a[0];
FF>}
FF>
FF>gcc-4.1.1 и gcc-3.3.6 это успешно компилирует.
FF>А еще, странно, но и icc-8.0, и icc-9.1 под Linux это тоже компилируют, а вот в версиях под Windows нет.
FF>Получается, что в версиях icc-8.0 и icc-9.1 под Linux тоже баг.
Еще gcc компилирует такое
int main
{
int n = 10; // неконстанта
int arr[n];
}
Это, кажется, называется variable length array (vla). VLA есть в стандарте C99 (но не С++ конечно).
Возможно для vla допустим 0-й размер, по аналогии с new int[0];
PS Это только предположение, могу ошибаться.
FF wrote:
> int main()
> {
> int a[0];
> }
>
>
> gcc-4.1.1 и gcc-3.3.6 это успешно компилирует.
>
> А еще, странно, но и icc-8.0, и icc-9.1 под Linux это тоже компилируют,
> а вот в версиях под Windows нет.
http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Zero-Length.html#Zero-Length
http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Variable-Length.html#Variable-Length
--
Maxim Yegorushkin
No Microsoft product was used in any way to write or send this text.
If you use a Microsoft product to read it, you're doing so at your own riskPosted via RSDN NNTP Server 2.0
Здравствуйте, FF, Вы писали:
FF>А еще, странно, но и icc-8.0, и icc-9.1 под Linux это тоже компилируют, а вот в версиях под Windows нет.
FF>Получается, что в версиях icc-8.0 и icc-9.1 под Linux тоже баг.
Интел в виндовой версии пытается быть побажно-совместимым с MSVC, а в линуховой — с gcc
--
Sergey Chadov
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>