这是我的尝试:
template<typename T> class myClass {
public:
myClass(std::vector<T> v) {
}
std::vector<T> myVect;
};
但是当我尝试使用它时:
myClass myClassInstance(myVect);
它给出了:
error: missing template arguments before 'myClassInstance'
答案 0 :(得分:2)
创建对象时需要指定模板的类型:
myClass<some_type> myClassInstance(myVect);
答案 1 :(得分:2)
不要忘记实际初始化您的成员变量以避免分段错误。
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];
}