我試圖複製是通過一個載體內的構造傳遞的值。下面是代碼:複製迭代器傳遞給構造函數,向量
class Foo {
public:
template<typename T>
Foo(T begin, T end)
{
std::copy(begin, end, data.begin());
}
void printVector()
{
cout << data.size();
}
protected:
std::vector<double> data;
};
和主:
std::vector<double> data = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
};
Foo::Foo f(
std::begin(data),
std::begin(data)
);
f.printVector();
可能有人請解釋爲什麼不起作用?另外,如果我有一個std::vector<vector<double> > data
二維矢量,並且我傳遞了二維矢量的迭代器,是否可以將其複製到二維矢量?
感謝
當你說「不工作」時,你應該給出更多細節。發生了什麼? – doctorlove