我用C ++编写程序,并使用外部头文件,在类声明中非常自由地使用typedef。
所以,当我去查找函数的返回类型时,我会看到GlobalVariableList FooBar()
,但是为了实际存储它返回的类型,我不能只使用{{1因为它在类I中声明的GlobalVariableType
的typedef引用了头文件。
是否可以从类外部访问在其中声明的类的typedef?
答案 0 :(得分:4)
如果typedef是public
,你可以这样做class foo
{
public:
typedef std::vector<bar> barContainer;
//...
}
foo::barContainer
答案 1 :(得分:1)
classname::typedefname
应该像魅力一样工作; GNU Radio在这个地方做到了这一点:
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;