Мне интересно, можно ли переслать объявить перечисление, определенное в пределах другого класса. Например, рассмотрим следующее:
//A.h
class A
{
public:
enum class type: unsigned long { /*some stuff*/ }
};
Теперь в другом заголовке я хотел бы переслать объявление "type" enum (предположим, что класс B ниже имеет функцию, которая делает что-то с типом A::)
//B.h
enum A::type; //use of undefined type 'A'
class B
{
public:
UseTypeEnum(A::Type&);
};
Это также не работает:
//B.h
class A;
enum A::type; //still use of undefined type
class B...
Нет проблем, если перечисление объявлено в глобальной области в A.h.
Есть ли способ сделать это?