Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [0x00] List-initialization в 2010-й студии 
V
    Опции темы
borisbn
Дата 2.3.2011, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



День добрый !
Хотел поизучать новый стандарт (черновик, ессно). Нашёл там такую возможность
Цитата

std::map<std::string,int> anim = { {"bear",4}, {"cassowary",2}, {"tiger",7} };

попробовал скомпилировать такое в 2010-й студии - получаю ошибку
Цитата

error C2552: 'anim' : non-aggregates cannot be initialized with initializer list

пробовал попроще
Код

std::vector< int > v = { 1, 2 };

то же самое.
MSDN на эту ошибку говорит, что инициализироваться таким образом могут только Aggregates, а именно
Цитата

Aggregates are defined as: 

  • Arrays
  • Classes, structures, and unions that do not have: 

    •   Constructors
    •   Private or protected members
    •   Base classes
    •   Virtual functions




Вопрос: это я что-то не так делаю, или это M$ не до конца поддержали новый стандарт ?

P.S. Если у кого-нибудь есть gcc с поддержкой 0x00 - не могли бы Вы проверить в нём список инициализации для вектора. Спасибо.


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Daevaorn
Дата 2.3.2011, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 51
Всего: 70



Что такое 0x00?
PM MAIL WWW   Вверх
boostcoder
Дата 2.3.2011, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(borisbn @  2.3.2011,  09:56 Найти цитируемый пост)
Если у кого-нибудь есть gcc с поддержкой 0x00

в подписи.
PM WWW   Вверх
borisbn
Дата 2.3.2011, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



Цитата(Daevaorn @  2.3.2011,  10:01 Найти цитируемый пост)
Что такое 0x00?

то же самое, что и tr1


Цитата(boostcoder @  2.3.2011,  10:07 Найти цитируемый пост)
в подписи.

спасибо, не сообразил smile
проверил - там всё работает
http://liveworkspace.org/code/e8c355778a2a...f32bca1fa2c8d8f


P.S. нашёл в M$VC, что можно так инициализировать массив типа array
Код

std::tr1::array< int 4 > ai = { 1, 2, 3 }; 


P.P.S. Опять же не нашёл в студии новых классов thread, future, mutex и т.д., а в gcc (thanx 2 boostcoder) есть. Это M$ не сделали или я плохо искал ?


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Abyx
Дата 2.3.2011, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: 1
Всего: 10



borisbn, в msvc C++0x реализован не полностью. Читайте примечания к выпуску.
PM MAIL   Вверх
borisbn
Дата 2.3.2011, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



Daevaorn, я ступил, sorry. конечно не 0x00, а C++0x


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0924 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.