在C++的模板类中创建向量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C++的模板类中创建向量相关的知识,希望对你有一定的参考价值。
我试图在一个模板类中创建一个向量,而向量的类型取决于我所定义的类的模板。我的代码如下。
template<class T>
class A
vector<T*> vec;
vec.resize(100);
当我试图编译它时,我得到以下错误信息。
error: ‘vec’ does not name a type; did you mean ‘getc’?
vec.resize(100);
^~~
谁能告诉我如何定义这样的向量?
先谢谢你。
答案
这与模板无关。这种非模板的代码也会是一个错误
class A
vector<int*> vec;
vec.resize(100);
因为 vec.resize(100)
不在一个函数中。我猜你想让这些代码在构造函数中被调用,就像这样
class A
vector<int*> vec;
A()
vec.resize(100);
这是合法的。现在我们可以把这个法律条文变成一个模板。
template <class T>
class A
vector<T*> vec;
A()
vec.resize(100);
以上是关于在C++的模板类中创建向量的主要内容,如果未能解决你的问题,请参考以下文章