Re: [vc++ bug] Member initialization in local class
От: VTT http://vtt.to
Дата: 27.02.15 19:18
Оценка:
Здравствуйте, Aleх, Вы писали:

A>Такой код не компилируется:

A>
A>struct XXX
A>{
A>    void bar()
A>    { }

A>    void foo()
A>    {
A>        class YYY
A>        {
A>            int x = 123;
A>        };

A>        bar(); // < error C2352: 'XXX::bar': illegal call of non-static member function
A>    }
A>};
A>

A>Видимо при выходе из скоупа компилятор не восстанавливает контекст. Баг содержится как в 2013, так и в 2015 студиях.

Мне кажется, что это далеко не единственная проблема в реализации поддержки local классов в студии. Даже когда все собирается без ошибок, случались проблемы при отладке и странное поведение в релиз сборках. local классы это не самая популярная (и не самая полезная) особенность языка, наверное поэтому им уделяют мало внимания.

А вообще стоило бы сразу на http://connect.microsoft.com/VisualStudio написать, авось исправят.
Говорить дальше не было нужды. Как и все космонавты, капитан Нортон не испытывал особого доверия к явлениям, внешне слишком заманчивым.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.