|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.09.2009, 16:06 | #1 |
Пользователь
Регистрация: 14.04.2009
Сообщений: 16
|
Dev C++ компилирует, Visual C++ ругается
Проблема изложена в сабже: Visual C++ (версия 6.0) не компилирует то, что Dev C++ компилит без проблем.
Код:
|
29.09.2009, 16:25 | #2 |
Форумчанин
Регистрация: 16.04.2009
Сообщений: 247
|
Такое не откомпилит и g++(Dev C++ - это IDE). Где закрывающая фигурная скобка?
А, еще, массивы переменной длины в C++ не поддерживаются, а в "новом" стандарте C - C99 - поддерживаются. Так то. Последний раз редактировалось megachuhancer; 29.09.2009 в 16:28. |
29.09.2009, 16:32 | #3 |
Пользователь
Регистрация: 14.04.2009
Сообщений: 16
|
Да закрывающая фигурная скобка есть. Просто после этого места идёт ещё килобайт пять кода. Написал только до проблемного места.
Как же мне тогда инициализировать массив in размером inSize ? |
29.09.2009, 16:33 | #4 |
Форумчанин
Регистрация: 16.04.2009
Сообщений: 247
|
Если пишешь на C++ - никак. C++ массивы переменной длины не поддерживает. Размером может быть только константа(причём такая, которую можно вычислить на этапе компиляции).
В смысле память можно выделить - динамически. С помощью malloc или new. Последний раз редактировалось megachuhancer; 29.09.2009 в 16:37. |
29.09.2009, 16:38 | #5 |
Пользователь
Регистрация: 14.04.2009
Сообщений: 16
|
Большое спасибо. Почему же тогда компилятор в Dev C++ (который гордо называется default compiler, поэтому не могу привести названия) запросто скушал такой код?
|
29.09.2009, 16:43 | #6 |
Форумчанин
Регистрация: 16.04.2009
Сообщений: 247
|
И вправду. Сейчас попробовал. Совсем я отстал от жизни... Ну, в общем, что тут непонятного? g++ вроде соответствует стандарту... Я, может, пропустил обновление. Может это нестандартная фича. Так или иначе, MS VC++ эту фичу не поддерживает, и поэтому придётся терпеть.
Почему не поддерживает, спросите в Microsoft. Dev C++ - IDE. Компилятор там g++(и не только). Последний раз редактировалось megachuhancer; 29.09.2009 в 16:59. |
29.09.2009, 21:05 | #7 | |
Подтвердите свой е-майл
Регистрация: 27.07.2009
Сообщений: 437
|
Cookson
Цитата:
Код:
Последний раз редактировалось jojahti; 29.09.2009 в 21:08. |
|
02.10.2009, 10:39 | #8 |
Форумчанин
Регистрация: 16.04.2009
Сообщений: 247
|
Напишу, может кому будет интересно. "Соответствует стандарту" на деле оказалось означает всего лишь "не противоречит стандарту". Поддержка массивов переменной длины в g++ - это расширение, по сути фича. Другие компиляторы вовсе не обязаны поддерживать её.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ругается в модуле! Как быть? | Golovastik | Общие вопросы Delphi | 21 | 14.07.2009 21:26 |
Компилятор не компилирует!((( | Тимс | Общие вопросы по Java, Java SE, Kotlin | 10 | 11.06.2009 18:35 |
Devcpp-4.9.9.2 не компилирует. | MacTiger | Общие вопросы C/C++ | 6 | 20.04.2009 22:15 |
Каким образом Delphi компилирует EXE? | Jupiter | Общие вопросы Delphi | 4 | 26.03.2008 16:52 |
Ругается компилятор | JSM | Общие вопросы Delphi | 2 | 17.06.2007 23:04 |