私はlineVertices
という線の頂点のベクトルを持っています。このデータをOpenGLシェイプを描画するために渡すので、このベクトルは配列の形でなければなりません。私は推測している。私は、次のコードを試してみた:ベクトルからダイナミック配列への値の割り当て(C++)
float* lineArray = new float[lineVertices.size()]();
for (unsigned i = 0; i < lineVertices.size(); i++) {
lineArray[i] = lineVertices.at(i);
}
しかし、ベクトルの各要素は唯一の配列の最初の要素に割り当てられてきていることが表示されます。 lineArray
という識別子が最初の要素へのポインタであっても、動的配列のさまざまな要素にアクセスする別の方法がありますか?
私は、デバッグしていたとき、それは、助けている場合、それは私も以下のコードを試してみましたが、これもないlineVertices'
サイズは明らかに1
より大きいものの、lineArray
のサイズは、常に1であることを述べています作業。
float* lineArray = &lineVertices[0];
ご協力いただきましてありがとうございます。
ここではいくつかの助けだ:どのようにについてのヘルプセンターの記事を読みます[mcve]をアセンブルし、それに応じて質問を編集します。 –
ベクトル/配列を渡している特定のOpenGL関数は何ですか?あなたは現在どのようにそれを呼んでいますか? – qxz
*したがって、このベクトルは配列の形でなければなりません。 'vector'は' vector :: data() '関数を呼び出すだけで探している'配列 'を持っていることを知っていますか? – PaulMcKenzie