powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Подскажите опцию компилятора, чтобы компилировалось
5 сообщений из 5, страница 1 из 1
Подскажите опцию компилятора, чтобы компилировалось
    #39871958
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GCC:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
    int n;
    cout << "Enter, please n:";
    cin >> n;
    int a[n];
    cout << "Enter, please a["<<n<<"]:";
    cin >> a[n - 1];
    cout << "sizeof(a) = " << sizeof(a) << endl;
    cout << "a["<<n<<"]:" << a[n - 1] << endl;
    return 0;
}


Вывод:
Enter, please n: 29
Enter, please a[29]: 219
sizeof(a) = 116
a[29]:219

---

MSVS 2017:
на строке
Код: plaintext
1.
    int a[n];


Error C2131: expression did not evaluate to a constant.

Что, в общем, понятно.

Вопрос: на что нужно надавить, чтобы добиться одинакового поведения gcc и MS VS 2017?
...
Рейтинг: 0 / 0
Подскажите опцию компилятора, чтобы компилировалось
    #39871960
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёё,

gcc version 8.2.0 (MinGW.org GCC-8.2.0-3)
...
Рейтинг: 0 / 0
Подскажите опцию компилятора, чтобы компилировалось
    #39871979
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По стандарту С++, размер массива должен быть константным выражением. Переменный размер - это gcc extension. Хотите добиться одинакового поведения - используйте стандартный средства, vector например
...
Рейтинг: 0 / 0
Подскажите опцию компилятора, чтобы компилировалось
    #39871980
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это VLA. Массивы переменной длины. Введены в C99, но поддерживаются и в gcc "как расширение": https://gcc.gnu.org/onlinedocs/gcc/Variable-Length.html
...
Рейтинг: 0 / 0
Подскажите опцию компилятора, чтобы компилировалось
    #39871992
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёёВопрос: на что нужно надавить, чтобы добиться одинакового поведения gcc и MS VS 2017?
constexpr ?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Подскажите опцию компилятора, чтобы компилировалось
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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