21
我想知道是否可以轉發聲明在另一個類作用域內定義的枚舉。例如,考慮以下因素:C++正向聲明類作用域枚舉
//A.h
class A
{
public:
enum class type: unsigned long { /*some stuff*/ }
};
現在,另一頭我想轉發申報「類型」枚舉(假設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...
還有如果枚舉在阿全球範圍內聲明沒問題
有沒有辦法做到這一點?
枚舉應聲明爲靜態成員,你確定你不能寫程序而忽略枚舉前向聲明嗎? 'enum'的 –
:http://stackoverflow.com/questions/2238170/forward-declaration-of-nested-enum –