1

VS2012 x64 express edition 出现错误。相同的代码在 VS2010 下也能正常工作。我在stackoverflow上经历了很多线程,这似乎是VS2012中的一个错误。

编码:

typedef vector< vector<cv::Point2d> > vec_type; 
vec_type table;
table.assign( 100, 0 );

错误:

错误 C2664:“ void std::vector<_Ty>::assign(unsigned __int64, const std::vector<cv::Point2d> &)”:无法将参数 2 从“ int”转换为“ const std::vector<_Ty> &

请任何人指出解决方案或解决此问题的方法?

谢谢

4

1 回答 1

6

vec_typeelement 是vector<cv::Point2d>类型,您不能分配0给它,解决方法可以是:

传递vector<Point2d>默认构造函数

table.assign(100, vector<Point2d>());

或使用std::vector::resize获得同样的努力:

table.resize(100);
于 2013-02-16T01:21:57.333 回答