我在 C++ 中创建了一个容器类,并且我有一个来自迭代器的构造函数,所以我可以写MyContainer<double> x(v.begin(), v.end())
where v
is a std::vector<double>
. 我希望能够对 c-array 做同样的事情,但是:
double array[3] = {1., 2. , 3.};
MyContainer<double> x(array, array+3); // Doesn't work : no matching function for call to ‘MyContainer<double>::MyContainer(double [3], double*)’
MyContainer<double> x(array+0, array+3); // Work
问题的根源是什么以及如何解决?
非常感谢。