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

我以为,通过向前声明相关的类,我会没事的。
但是我不断收到编译时错误,例如:

use of undefined type QueryGetCustomer
Reply uses undefined class QueryGetCustomer

QueryGetCustomer类位于Reply内部时,有没有办法在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仅在查询中才有意义,因此我非常想将其作为内部类。

最佳答案

尝试转发声明内部类失败了。

您不能转发声明类的内部类型。而已。

08-16 04:09