[英]How to define an abstract Graph class for holding any type of data in its nodes?
[英]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.