C++ std::vector.data not found by MinGW

C++ std::vector.data not found by MinGW

本文关键字:found by not MinGW data std vector C++      更新时间:2023-10-16

我能够使用以下C 代码使用OpenGL的GlverTexPointer函数:

glVertexPointer(3, GL_DOUBLE, 0, myMeasuredPoints.data());

mymeasurectoints是一个C 向量,具有双型元素。在使用Visual C 编译此代码时,根本没有问题。但是,当使用mingw编译时,我会收到以下错误:

error: 'class std::vector<double, std::allocator<double>' has no member named 'data'

奇怪的是,我在代码中没有任何其他位置在我调用诸如myMeasuredPoints.push_back()之类的其他位置以将值推向向量。这些其他实例都是在使用.data()函数之前都发生的,因此在到达其他实例之前,这并不只是代码崩溃的情况。

有什么想法?

data函数在C 11中添加。确保使用-std=c++0x-std=c++11编译,并具有包含功能的mingW版本。

如果不可能,您可以使用通常的C 03变体:

&myMeasuredPoints[0]

如果您的编译器不支持C 11,则可以使用

&myMeasuredPoints[0]