Cześć ;)
Czy dobrze myślę, że jeżeli mamy:
//Klasa.h
class Klasa{
public:
struct Nested;
};
To taka struktura powinna być od razu zdefiniowana w klasie Klasa, a nie np. w pliku implementacji. ( Klasa.cpp), prawda? Jest tak dlatego, że jeżeli jakaś jednostka translacji chciałaby zrobić tak:
#include "Klasa.h"
std::unique_ptr<Klasa::Nested> d;
to się pojawia problem bo na etapie kompilacji nie znamy rozmiaru Nested ( no więc nie znamy chociażby jak przesuwać wskaźnis stosu- to tylko taki jeden blahy powód).
Czy dobrze rozumuję?