可以访问类声明中声明的typedef吗?

时间:2015-02-04 19:25:52

标签: c++ typedef

我用C ++编写程序,并使用外部头文件,在类声明中非常自由地使用typedef。

所以,当我去查找函数的返回类型时,我会看到GlobalVariableList FooBar(),但是为了实际存储它返回的类型,我不能只使用{{1因为它在类I中声明的GlobalVariableType的typedef引用了头文件。

是否可以从类外部访问在其中声明的类的typedef?

2 个答案:

答案 0 :(得分:4)

如果typedef是public

,你可以这样做
class foo
{
public:
    typedef std::vector<bar> barContainer;
//...
}

foo::barContainer

答案 1 :(得分:1)

 classname::typedefname

应该像魅力一样工作; GNU Radio在这个地方做到了这一点:

basic_block

basic_block::basic_block(const std::string &name,
    io_signature::sptr input_signature,
    io_signature::sptr output_signature)

io_signature

typedef boost::shared_ptr<io_signature> sptr;