1

VS2012 x64ExpressEditionでエラーが発生します。同じコードが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_type要素はvector<cv::Point2d>タイプであり、割り当てることはできません0。回避策は次のようになります。

vector<Point2d>デフォルトのコンストラクターを渡す

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

または、std :: vector :: resizeを使用して、同じ作業を行います。

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