根据内部类创建模板

时间:2014-03-24 22:09:32

标签: c++ oop templates inheritance

我正在尝试创建一个在其内部定义的类之一上模板化的类。

我认为通过向前宣布相关课程,我会没事的 但我不断得到编译时错误,如:

use of undefined type QueryGetCustomer
Reply uses undefined class QueryGetCustomer

有什么方法可以在课程QueryGetCustomer上模板Reply,当课程ReplyQueryCustomer的内部时,如此代码所示?

class QueryGetCustomer;
class QueryGetCustomer::Reply; // error: use of undefined type QueryGetCustomer
                               // error: Reply uses undefined class QueryGetCustomer

class QueryGetCustomer :
   public BaseQuery<QueryGetCustomer::Reply>
{
public:
    class Reply { [....] };
};

P.S。当类ReplyQueryGetCustomer类的外部(全局)时,我有这个模板结构。

但是,Reply在Query中才真正有意义,所以我真的希望将它作为内部类。

1 个答案:

答案 0 :(得分:2)

整个事情都没有尝试转发声明内部类。

你不能转发声明内部类的类。那就是它。