【发布时间】:2020-03-28 20:27:25
【问题描述】:
我想要实现的是创建一个结构 myVector 的模板,该模板将包含两个向量,即 vector_a 和 vector_b。但我对模板很陌生。我的意思是,我知道在某些情况下为什么以及何时更喜欢使用模板,但我不太确定如何解决这个问题。我写的是:
'''
#include<iostream>
#include<stddef.h>
#include<vector>
template <typename T> struct myVector {
std::vector<T> vector_a;
std::vector<T> vector_b;
};
int main() {
myVector<int> z1(5);
myVector<int> z2(6);
}
''' 我最终收到错误,例如调用“VectorXY::VectorXY(int)”时没有匹配函数 为向量 VectorXY z2(6);
因此,我非常感谢您的帮助。提前致谢。
【问题讨论】:
-
您显示的代码中没有
VectorXY,但在错误消息中引用了它。请提供实际的minimal reproducible example 和确切示例生成的错误消息。 -
除此之外,错误信息非常清楚。
myVector的什么构造函数你希望用于myVector<int> z1(5);?您还没有声明任何构造函数。它与模板无关,而与类的工作方式有关。
标签: c++ templates vector struct