小编Sas*_*aka的帖子

指向具有不同模板参数的类模板的指针

我在采访中得到了这个问题,但仍然不知道如何解决这个问题:

假设我们有一个C++代码:

int main(int argc, char* argv[])
{
    L<A>* pA = 0;
    L<B>* pB = 0;
    pA = pB;
}
Run Code Online (Sandbox Code Playgroud)

我们应该添加什么以便实际编译?

换句话说,我们应该如何界定L,A以及B类?请不要使用预处理程序的指令.

我只知道如何解决它:

template<class T> struct L {};
struct A {};
typedef A B;
Run Code Online (Sandbox Code Playgroud)

甚至更简单的前向声明:

struct A;
typedef A B;
template<class> struct L;
Run Code Online (Sandbox Code Playgroud)

还有其他想法吗?

c++ templates pointers

5
推荐指数
3
解决办法
483
查看次数

标签 统计

c++ ×1

pointers ×1

templates ×1