Здравствуйте, nen777w, Вы писали:
N>ну и циклы, оптимизируем-с N>
N>for (typename CONT::const_iterator it = c.begin(), itE = c.end(); it != itE; ++it)
N>
Да тут оптимизировать нечего. На тестовой программке вспоминал как убрать тип элемента контейнера из шаблона, нечаянно нажал компиляцию на недописанной функции — упало.
Здравствуйте, _nn_, Вы писали:
__>Здравствуйте, Nuzhny, Вы писали:
N>>Падает и 2005-я Professional и 2010 Express.
__>Проблемы: __>1. typename CONT::iterator __>2. template<template <class> class std::map> void ff(CONT c) __>Что такое CONT ??
Здравствуйте, Nuzhny, Вы писали:
N>Здравствуйте, _nn_, Вы писали:
__>>Здравствуйте, Nuzhny, Вы писали:
N>>>Падает и 2005-я Professional и 2010 Express.
__>>Проблемы: __>>1. typename CONT::iterator __>>2. template<template <class> class std::map> void ff(CONT c) __>>Что такое CONT ??
N>Это остатки скопипастенной функции выше.
Ну так покажите полный код который должен компилироваться.
То, что вы привели компилироваться не должно.
кроме того, что уже понаписали коллеги выше про typename и копипаст туловища специализации:
0) специализация написана не верно! в исходной функции был параметр тип, в специализации с чего-то вдруг параметр стал шаблонный параметр шаблона
1) во-вторых, то, что там написано вообще не специализация, а фарш какойта (особенно с учетом ошибки копипасты в параметрах функции)
2) втретьих, в С++03 могут быть только полные специализации щаблонных функций
3) и наконец шаблон std::map имеет 4 параметра а не 1!!
Здравствуйте, Nuzhny, Вы писали:
N>Здравствуйте, nen777w, Вы писали:
N>>ну и циклы, оптимизируем-с N>>
N>>for (typename CONT::const_iterator it = c.begin(), itE = c.end(); it != itE; ++it)
N>>
N>Да тут оптимизировать нечего. На тестовой программке вспоминал как убрать тип элемента контейнера из шаблона, нечаянно нажал компиляцию на недописанной функции — упало.
Здравствуйте, VladFein, Вы писали:
VF>Здравствуйте, _nn_, Вы писали:
__>>Ну так покажите полный код который должен компилироваться. __>>То, что вы привели компилироваться не должно.
VF>А падать — должно?
ICE конечно быть не должно. Это рапорт бага на connect.microsoft.com
Но у вас неверный код, поэтому не должно компилироваться в любом случае.
Да ладно тебе. Я за много лет впервые и случайно нашёл ошибку в компиляторах Майкрософта. До этого они у меня тоже падали, но на огромных проектах с кучей кода и в непонятном месте. Спасала перекомпиляция.
Код, что я привёл написан просто так, без малейшей практической цели. Даже если бы он был работоспособным я его запускать не собирался — мне надо было кое-что вспомнить. И тут совершенно случайно падает компилятор — мне показалось это забавным. Только и всего.
Здравствуйте, Nuzhny, Вы писали:
N>Здравствуйте, zaufi, Вы писали:
N>Да ладно тебе. Я за много лет впервые и случайно нашёл ошибку в компиляторах Майкрософта. До этого они у меня тоже падали, но на огромных проектах с кучей кода и в непонятном месте. Спасала перекомпиляция. N>Код, что я привёл написан просто так, без малейшей практической цели. Даже если бы он был работоспособным я его запускать не собирался — мне надо было кое-что вспомнить. И тут совершенно случайно падает компилятор — мне показалось это забавным. Только и всего.
ну вот мы тебе и напомнили ))
а в целом да, падать компилятор не должен )) -- сабмить багу в M$ )
Здравствуйте, VladFein, Вы писали:
__>>Ну так покажите полный код который должен компилироваться. __>>То, что вы привели компилироваться не должно. VF>А падать — должно?
Ну если учесть что за компилятор, то вопросов по этому поводу не должно быть.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, nen777w, Вы писали:
N>ну да, падает, ещё и 2008-я падает если в boost::bind не сделать нужное количество плейсхолдеров. N>стабильно так валится. (другие не проверял)
писали уже, ссылку не помню, но если вкратце сказали что фиксить не будут