我正在用C++編寫一個程序,我正在使用的外部頭文件在類聲明中非常自由地使用typedefs。可以訪問在類聲明中聲明的typedef嗎?
所以,當我去查找函數的返回類型,我會看到GlobalVariableList FooBar()
,但後來實際存儲它返回的類型,我不能只用GlobalVariableType
,因爲其內聲明的iplist<GlobalVariabl>
一個typedef我在頭文件中引用類。
是否有可能從類的外部訪問類中聲明的類的typedef?
我正在用C++編寫一個程序,我正在使用的外部頭文件在類聲明中非常自由地使用typedefs。可以訪問在類聲明中聲明的typedef嗎?
所以,當我去查找函數的返回類型,我會看到GlobalVariableList FooBar()
,但後來實際存儲它返回的類型,我不能只用GlobalVariableType
,因爲其內聲明的iplist<GlobalVariabl>
一個typedef我在頭文件中引用類。
是否有可能從類的外部訪問類中聲明的類的typedef?
你可以做到這一點,如果typedef的是公共
class foo
{
public:
typedef std::vector<bar> barContainer;
//...
}
foo::barContainer
啊,這個工程!我發誓我嘗試過這種方式,但它沒有奏效,但我想當我嘗試使用錯誤的名稱或其他名稱時。 – Earlz
classname::typedefname
應該像一個魅力; GNU收音機,這一切的地方:
basic_block::basic_block(const std::string &name,
io_signature::sptr input_signature,
io_signature::sptr output_signature)
typedef boost::shared_ptr<io_signature> sptr;
取決於typedef的是公共的。另外,'auto'是你的朋友。 –
@ T.C。 typedef是在公共部分,所以是啊...是啊,但你不能使用汽車的一切 – Earlz