繁体   English   中英

如何创建一个接受包含任何类型数据的向量的类?

[英]how to create a class that would accept vector holding any type of data?

这是我的尝试:

template<typename T> class myClass {
 public:
  myClass(std::vector<T> v) {
  }
  std::vector<T> myVect;
};

但是当我尝试使用它时:

myClass myClassInstance(myVect);

它给:

error: missing template arguments before 'myClassInstance'

您需要在创建对象时指定模板的类型:

myClass<some_type> myClassInstance(myVect);

不要忘记实际初始化您的成员变量以避免分段错误。

  myClass(const std::vector<T>& v) : myVect(v) {
  }

int main() {

    myClass<int> mc(std::vector<int>{1, 2, 3, 4, 5});
    std::cout << mc.myVect[0];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM