On-line: гостей 1. Всего: 1 [подробнее..]
Программисты всех стран, объединяйтесь!

АвторСообщение



ссылка на сообщение  Отправлено: 28.07.12 20:05. Заголовок: MS VC++ 2010: снова баг и снова в лямбда-выражениях.


Я уж думал, что исчерпал тему багов, относящихся к лямбда-выражениям, но оказалось, что мои предположения были не верны.
Так что представляю на обозрение еще один баг в лямбда-выражениях компилятора MS VC++ 2010.

Этот баг связан с невозможностью совмещения спецификатора класса памяти static с ключевым словом typename, когда используется зависящий от шаблона тип данного.

Вот пример, демонстрирующий сказанное:

#include "stdafx.h" 
#include <iterator>

template <typename Iterator>
void f( Iterator )
{
static typename std::iterator_traits<Iterator>::difference_type n;
}

template <typename Iterator>
void f1( Iterator )
{
auto lm = []()
{
static typename std::iterator_traits<Iterator>::difference_type n;
};
}

int _tmain(int argc, _TCHAR* argv[])
{
{
int *p = 0;
f( p );
f1( p );
}

return 0;
}


При компиляции этого кода компилятор MS VC++ 2010 выдает следующее сообщение об ошибке:


 цитата:
error C2899: использование typename вне объявления шаблона не допускается



Это сообщение об ошибке относится к предложению в лямбда-выражении функции f1 Точно такое же предложение в функции f, где нет лямбда-выражения компилируется без проблем.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 1 [только новые]





ссылка на сообщение  Отправлено: 28.07.12 20:05. Заголовок: Ответ от Майкрософт ..


Ответ от Майкрософт подтвердил, что это есть баг компилятора, который они уже исправили, и исправления появятся вместе с выпуском нового релиза компилятора MS VC++ 2011.


 цитата:
Posted by Microsoft on 28.05.2012 at 14:15

Hello,

Thank you for reporting this bug. We have fixed this in the VS11 RC release, next major release will have the fix.

Thanks,
Ulzii Luvsanbat
Visual C++ Team



Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 21
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет