【问题标题】:C++ Use undefined template in classC++ 在类中使用未定义的模板
【发布时间】:2016-11-06 15:48:07
【问题描述】:

最近我发现了在 C++ 中预定义类的智能快捷方式。通常会创建一些我会写的复杂结构:

class A;
class B{
    A *a;
};
...
class A{

};

现在,感谢捷径,我写:

class B{
    class A *a;
};
class A{

};

我的问题 - 我怎样才能做出与此表格等效的简短定义:

template<typename T> class A;
class B{
    typename typedef A<class T> a;
};

?

【问题讨论】:

    标签: c++ templates typedef typename


    【解决方案1】:

    简单的答案是你不能。对常规类使用详细的类型说明符,通过隐式转发声明,将名称引入封闭的命名空间。

    模板的行为方式未定义相同。

    【讨论】:

    • 好吧,我会等一个不知道你不能的人:)
    • @CheshireCat,您可以自己阅读 c++ 标准。答案不会改变。
    猜你喜欢
    • 1970-01-01
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 2020-04-09
    • 2017-08-17
    • 2020-06-02
    • 2011-02-17
    相关资源
    最近更新 更多