Здравствуйте, so5team, Вы писали:
S>Я все же думаю, что здесь ситуация несколько хитрее.
S>Возможно, если будет родная stdlib от clang-а (как на MacOS), то и диагностика будет другой. Но я сильно сомневаюсь. Так что, предположу, грабли у ТС-а все-таки другие.
У меня описанные симптомы воспроизводятся в самом классическом варианте:
class Class1
{
public:
Class1();
~Class1();
private:
class Impl;
std::unique_ptr<Impl> m;
};
При переносе определения конструктора из cpp в тело класса получаю ошибку:
C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\include\memory(3105,1): error C2027: use of undefined type 'Class1::Impl'
Visual Studio 2022 v17.6.4, toolset v143, /std:c++20
Вероятно, воспроизводимость чувствительна к компилятору и реализации STL.