次の C++ コードを使用して、OpenGL の glVertexPointer 関数を使用できました。
glVertexPointer(3, GL_DOUBLE, 0, myMeasuredPoints.data());
myMeasuredPoints は double 型の要素を持つ C++ ベクトルです。このコードを Visual C++ でコンパイルする場合、まったく問題はありません。ただし、MinGW を使用してコンパイルすると、次のエラーが発生します。
error: 'class std::vector<double, std::allocator<double>' has no member named 'data'
奇妙なことに、myMeasuredPoints.push_back() などの関数を呼び出して値をベクトルにプッシュするコードの他の場所では、このエラーは発生しません。これらの他のインスタンスはすべて .data() 関数を使用する前にあったため、他のインスタンスに到達する前にコードがクラッシュしただけではありません。
何かご意見は?