私は複素数の多次元配列のベクトルを得ました。 ベクターは、このベクターは、点のx-y座標及び他の情報で満たされ、そしてソートされた後に、このコードベクトルpush_back doubleの配列
std::vector<std::array<double, 3>> matrix;
で作成されています。これは、私が与えられた2次元モデルの外形になるために必要です。モデルの外形を閉じるには、最初の点の情報をベクトルの最後にコピーする必要があります。 私はベクトルのベクトルを持っていれば、このようなコードを使うことができます。
matrix.push_back(std::vector<double>(3, 0));
int p = matrix.size()-1;
matrix[p][0]=matrix[0][0];
matrix[p][1]=matrix[0][1];
matrix[p][2]=matrix[0][2];
私は配列のベクトルを使用しているので、これは間違っているようです。私はこのコードを少し修正して使用しようとしました。
matrix.push_back(std::array<double, 3>);
しかし、ここで私は、エラーメッセージが表示されます。
class: std::array Error: type name is not allowed
私はVisualStudioを2012年を使用している誰かが私が間違ってやっている、私に言うことはできますか?
'std :: vector'オブジェクトを 'std :: array 'のベクトルに挿入することはできません。 'matrix.push_back({1、2、3});' –
ポリゴンの最後に最初のポイントを追加する必要はありません。これはむしろエラーを起こしやすい。最後のポイントの後に最初のポイントまで余分なラインが必要であることがわかっているので、閉じたポリゴンフラグを使用する方がよいでしょう。 – stefaanv