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



这是我的尝试:

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(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];
}

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

myClass<some_type> myClassInstance(myVect);

最新更新