基于内部类制作模板

Making a template based on an internal class

本文关键字:内部类      更新时间:2023-10-16

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

我认为通过向前声明相关的类,我就可以了。
但我总是得到编译时错误,如:

use of undefined type QueryGetCustomer
Reply uses undefined class QueryGetCustomer

是否有一种方法,我可以模板QueryGetCustomerReply,当类Reply是内部的QueryCustomer,如本代码所示?

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 { [....] };
};

注:当Reply类是QueryGetCustomer类的外部(全局)时,我有这个模板结构工作。

然而,Reply只在查询中真正有意义,所以我真的想把它作为一个内部类。

前向声明内部类失败

不能向前声明类的内部类型。就是这样。