gpt4 book ai didi

c++ - 如何转发声明模板类并将其用作 C++ 中的成员数据?

转载 作者:太空宇宙 更新时间:2023-11-03 10:42:00 25 4
gpt4 key购买 nike

我正在尝试转发声明一个模板类,然后使用该类在其他类中声明一个成员数据。代码如下:

using namespace std;

template<class T>
class B;

class A{
B<T> b;
};

template<class T>
class B{
T x;
};

int main(){
}

编译错误:

error: ‘T’ was not declared in this scope
B<T> b;

任何人都可以让我知道我做错了什么以及如何实现我的目标吗? (我注意到 SO 上关于模板类的帖子,但没有一个回答我的问题。)

提前致谢!

最佳答案

这个:

class A{
B<T> b;
};

应该是这样的:

template <class T>
class A{
B<T> b;
};

通过添加 B<T>进入A ,你基本上变成了A进入模板类以及模板类型 T , 所以 A类删除也应该被模板化。

关于c++ - 如何转发声明模板类并将其用作 C++ 中的成员数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33655652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com