Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
#1

Предупреждение о Extended initializer lists - C++

02.12.2013, 15:54. Просмотров 1476. Ответов 6
Метки нет (Все метки)

При использовании функции nanosleep при компиляции g++ выводит следующее:
ex.cpp: В функции «void* postav(void*)»:
ex.cpp:66:21: предупреждение: extended initializer lists only available with -std=c++11 or -std=gnu++11 [по умолчанию включена]

Что значат эти надписи: -std=c++11 or -std=gnu++11 и как вообщем исправить? Заранее спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
anmartex
...
1701 / 1194 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
03.12.2013, 03:58     Предупреждение о Extended initializer lists #2
В программе используется расширенная инициализация списка, эта возможность появилась только в стандарте C++11. Чтобы компилятор перестал писать предупреждение, вы должны во время компиляции передавать ему параметр -std=c++11 или -std=gnu++11. Собственно это он вам и сообщает.

Не по теме:

Советую немного освоить английский язык, для инженера это необходимость.

танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
03.12.2013, 09:59  [ТС]     Предупреждение о Extended initializer lists #3
Цитата Сообщение от anmartex Посмотреть сообщение
В программе используется расширенная инициализация списка, эта возможность появилась только в стандарте C++11. Чтобы компилятор перестал писать предупреждение, вы должны во время компиляции передавать ему параметр -std=c++11 или -std=gnu++11. Собственно это он вам и сообщает.

Не по теме:

Советую немного освоить английский язык, для инженера это необходимость.

а можете сказать про какой список идёт речь?
anmartex
...
1701 / 1194 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
03.12.2013, 10:38     Предупреждение о Extended initializer lists #4
Цитата Сообщение от танкист34 Посмотреть сообщение
а можете сказать про какой список идёт речь?
Конечно можно! Тот, который у вас в программе.

P.S.: я же не телепат, программу не расстоянии не вижу
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
03.12.2013, 16:41  [ТС]     Предупреждение о Extended initializer lists #5
Цитата Сообщение от anmartex Посмотреть сообщение
Конечно можно! Тот, который у вас в программе.

P.S.: я же не телепат, программу не расстоянии не вижу
ну раскройте тайну, пожалуйста, интересно очень. Контейнер list я не использовал, никаких односвязных и двухсвязных списков тоже. За ссылку, где об этом списке можно почитать буду очень благодарен
anmartex
...
1701 / 1194 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
03.12.2013, 17:02     Предупреждение о Extended initializer lists #6
Цитата Сообщение от танкист34 Посмотреть сообщение
Контейнер list я не использовал, никаких односвязных и двухсвязных списков тоже.
Так никто и не говорит о шаблоне list.

танкист34, я же написал, что не телепат. Вы мне код покажите, тогда я вам смогу помочь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2013, 08:22     Предупреждение о Extended initializer lists
Еще ссылки по теме:

Constructor delegation follows mem-initializer for C++
[Warning] extended initializer lists only available with -std=c++11 C++
C++ Инициализация массива: ошибка "array must be initialized with a brace-enclosed initializer"
Ошибка: error: cannot convert '<brace-enclosed initializer list>' to 'int C++
Как исправить [Error] expected initializer before 'bool'? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт С++
4956 / 3032 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
05.12.2013, 08:22     Предупреждение о Extended initializer lists #7
Цитата Сообщение от anmartex Посмотреть сообщение
расширенная инициализация списка
Немного не так: Расширенные списки инициализации.
танкист34, пример:
В стандарте 03, чтобы инициализировать, например, вектор, нужно было писать так:
C++
1
2
3
4
std::vector<int> v;
v.push_back(10);
v.push_back(2);
v.push_back(42);
В 0x стандарте появилась возможность использовать списки инициализации для пользовательских классов (как это было всегда для обычных встроенных массиво):
C++
1
std::vector<int> v = { 10, 2, 42 };
Именно о таких списках инициализации вас предупреждает компилятор.
Yandex
Объявления
05.12.2013, 08:22     Предупреждение о Extended initializer lists
Ответ Создать тему
Опции темы

Текущее время: 11:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru