#include
struct T {
explicit operator bool() { return true; }
};
int main() {
T t;
if(t) {} // OK
auto l = [&]() {
if (t) {} // Error
};
}
< /code>
Поведение MSVC кажется странным образом непоследовательным здесь; Единственная разница между линией OK и линией ошибок заключается в том, что один находится в Lambda. Это ошибка? /> < /blockquote>
Подробнее здесь: https://stackoverflow.com/questions/164 ... a-msvc-bug