Вы не можете объявить неполный тип как член.
Когда вы пересылаете объявление типа, все, что знает компилятор, это то, что этот тип существует;он ничего не знает о размере, элементах или методах.Он называется Неполный тип
Если вы не включите Mesh.h
, Mesh
является Incomplete type
и вы не можете объявить неполный тип как член.
Но, вы можете иметь указатель на Incomplete type
в качестве участника и поэтому, если вы отправите объявление class Mesh
, ваш участник должен будет Mesh*
Итак, в заключение, чтоВы сказали, что это правильно.