別のクラススコープ内で定義された列挙型を前方宣言することが可能かどうか疑問に思っています。たとえば、次のことを考慮してください。
//A.h
class A
{
public:
enum class type: unsigned long { /*some stuff*/ }
};
ここで、別のヘッダーで'type'列挙型を前方宣言したいと思います(以下のクラスBにA :: typeで何かを行う関数があるとします)
//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...
列挙型がAhのグローバルスコープで宣言されていれば問題ありません
これを行う方法はありますか?