Я написал некоторый код для назначения, который компилировался и вел себя как положено в gcc, но исключает C2027 «использование неопределенного типа» при компиляции в visual studio.Вот поведение, которое вызвало ошибку:
template<class Object>
class Foo{
public:
[....]
private:
[....]
std::stack<Foo> bar;//error c2027 from instantiation with incomplete type
};
Я понимаю, почему происходит ошибка, я пытался выяснить, как ее устранить без существенного изменения структуры кода, илиесли это вообще возможноВ этом конкретном случае класс использовал внутреннюю структуру данных для хранения копии предыдущих состояний, к которой он мог быть возвращен.