Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Почему в MSVC не компилируется код с динамическими массивами? / 14 сообщений из 14, страница 1 из 1
02.02.2017, 11:51
    #39397100
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в MSVC не компилируется код с динамическими массивами?
Код: plaintext
1.
2.
	int n = 10;
 	int d[n]; 



В MinGW - работает
В VS2015 - нет, expression must have a constant value

Вроде оба компилятора C99 поддерживают. Почему так?
...
Рейтинг: 0 / 0
02.02.2017, 12:15
    #39397131
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в MSVC не компилируется код с динамическими массивами?
ограничение либо режим компилятора....
Ищи на MSDN
...
Рейтинг: 0 / 0
02.02.2017, 12:27
    #39397143
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в MSVC не компилируется код с динамическими массивами?
В MinGW можно указать в настройках, что хочу использовать C99 и все работает.
Про MSVC 2015 пишут что там поддержка нового стандарта включена по-умолчанию, и никаких настроек касательно стандарта нет.
И не работает в итоге.
...
Рейтинг: 0 / 0
02.02.2017, 15:46
    #39397361
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в MSVC не компилируется код с динамическими массивами?
Eolt,

Я поглядел на этот счёт в MSDN и интернетах.
Одним словом -- всё печально, не хочет MS поддерживать C99.
(ту часть, что на уровне языка, а не библиотеки).
Пишут, что у их пользователей нет таких потребностей.

Ну, я их понимаю... В общем, новшества C99 мало кому нужны.
...
Рейтинг: 0 / 0
02.02.2017, 19:32
    #39397563
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в MSVC не компилируется код с динамическими массивами?
MS поддерживает alloca()
...
Рейтинг: 0 / 0
02.02.2017, 19:45
    #39397569
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в MSVC не компилируется код с динамическими массивами?
Eolt
Код: plaintext
1.
2.
	int n = 10;
 	int d[n]; 



В MinGW - работает
В VS2015 - нет, expression must have a constant value

Вроде оба компилятора C99 поддерживают. Почему так?
Непонятно зачем вообще это безобразие ввели в стандарт? Очень опасная штука. Стэк всего 1 Мб и уехать за его границу элементарно с такими фичами.
Используй лучше вектор.
Код: plaintext
1.
2.
	int n = 10;
 	std::vector<int> d(n); 
...
Рейтинг: 0 / 0
02.02.2017, 19:45
    #39397570
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в MSVC не компилируется код с динамическими массивами?
MasterZivEolt,

Я поглядел на этот счёт в MSDN и интернетах.
Одним словом -- всё печально, не хочет MS поддерживать C99.
(ту часть, что на уровне языка, а не библиотеки).
Пишут, что у их пользователей нет таких потребностей.

Ну, я их понимаю... В общем, новшества C99 мало кому нужны.

Это плохо. Уже С11 давно поддерживается большинством компиляторов, а они С99 не могут сделать.
А я уже надеялся генерики использовать..
...
Рейтинг: 0 / 0
02.02.2017, 19:47
    #39397572
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в MSVC не компилируется код с динамическими массивами?
Dima T,

Какой vector в C?
...
Рейтинг: 0 / 0
02.02.2017, 19:50
    #39397573
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в MSVC не компилируется код с динамическими массивами?
EoltЭто плохо. Уже С11 давно поддерживается большинством компиляторов, а они С99 не могут сделать.
А я уже надеялся генерики использовать..
Не путай С++11 и С99. MSVC2015 поддерживает даже С++14.
...
Рейтинг: 0 / 0
02.02.2017, 19:51
    #39397574
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в MSVC не компилируется код с динамическими массивами?
EoltDima T,

Какой vector в C?
какая разница С или С++ в разработке под виндовс?
...
Рейтинг: 0 / 0
02.02.2017, 19:55
    #39397578
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в MSVC не компилируется код с динамическими массивами?
Dima TEoltDima T,

Какой vector в C?
какая разница С или С++ в разработке под виндовс?

Большая. У меня проект на С, чтобы потом его можно было перенести на другую платформу. Например на ARM Cortex.
...
Рейтинг: 0 / 0
02.02.2017, 20:00
    #39397583
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в MSVC не компилируется код с динамическими массивами?
EoltDima Tпропущено...

какая разница С или С++ в разработке под виндовс?

Большая. У меня проект на С, чтобы потом его можно было перенести на другую платформу. Например на ARM Cortex.
Ну так не используй эти грабли, когда сглючит - устанешь искать причину в своем Cortex`е.
...
Рейтинг: 0 / 0
03.02.2017, 00:09
    #39397697
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в MSVC не компилируется код с динамическими массивами?
Dima TEolt
Код: plaintext
1.
2.
	int n = 10;
 	int d[n]; 



В MinGW - работает
В VS2015 - нет, expression must have a constant value

Вроде оба компилятора C99 поддерживают. Почему так?
Непонятно зачем вообще это безобразие ввели в стандарт? Очень опасная штука. Стэк всего 1 Мб и уехать за его границу элементарно с такими фичами.
Используй лучше вектор.
Код: plaintext
1.
2.
	int n = 10;
 	std::vector<int> d(n); 



Полностью согласен, выделение на стеке подобным образом мне совсем не нравится. Если автору нужен чистый Си, пусть использует malloc().
...
Рейтинг: 0 / 0
03.02.2017, 11:58
    #39397994
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в MSVC не компилируется код с динамическими массивами?
EoltMasterZivEolt,

Я поглядел на этот счёт в MSDN и интернетах.
Одним словом -- всё печально, не хочет MS поддерживать C99.
(ту часть, что на уровне языка, а не библиотеки).
Пишут, что у их пользователей нет таких потребностей.

Ну, я их понимаю... В общем, новшества C99 мало кому нужны.

Это плохо. Уже С11 давно поддерживается большинством компиляторов, а они С99 не могут сделать.
А я уже надеялся генерики использовать..

Как раз в этом и проблема, что поддерживается С++11.
Микрософтовцы пишут в блогах, что С++11 у них был в приоритете, и все силы были
брошены на его поддержку, а теперь на поддержку приближающегося C++17.

А на С99, на который у них особого спроса нет (нет запроса кастомеров, что им это нужно),
они особенно ресурсов не выделяли.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Почему в MSVC не компилируется код с динамическими массивами? / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]