MSVC 19.22 испускает C4626 Предупреждение о лямбде - PullRequest
1 голос
/ 26 сентября 2019

Предупреждение C4626 не позволяет нам перейти с std: c ++ 17 на std: c ++ последней версии.Он генерируется с 19.22 (а не 19.21 или более ранней), в основном, для каждой лямбды.

#pragma warning(default : 4626)

int main()
{
    int foo;
    auto bar = [&]() {
        foo;
    };

  return 0;
}


<source>(8): warning C4626: 'main::<lambda_1>': assignment operator was implicitly defined as deleted

Скомпилировано с / std: c ++ latest / W4

Это предупреждение не является ошибочнымНо многословный по моему мнению.Мы хотели бы оставить C4626 включенным, чтобы получать предупреждение при выводе из явно / неявно удаленного оператора присваивания.Поскольку мы отображаем каждое предупреждение как ошибку, сейчас это невозможно.

Требуется ли этот уровень многословия?Или это можно назвать ошибкой?

...