以下C ++ 11代码:
std::array<float, 3> A;
收到错误消息:
array is not a member of std.
在Visual Studio中,单词“array”为蓝色,表示它是关键字。这是CLI的扩展。我以前通过转到属性/ C ++ /语言并将“禁用语言扩展”设置为是来修复过它。我还有属性/常规< / em>设置为无公共语言支持。仍然没有快乐。
如何将程序作为关键字忽略编辑器中array
的可见性?
答案 0 :(得分:7)
您需要添加<array>
标题。
答案 1 :(得分:0)
即使使用带有g ++的Ubuntu上的'array'指令也可以重现此错误:
例如,这个C ++代码:
#include <iostream>
#include <array>
using namespace std;
int main(){
std::array<int, 5> myints;
cout << myints.size();
}
编译并运行如下:
g++ -o s s.cpp
./s
打印错误:
/usr/include/c++/4.6/bits/c++0x_warning.h:32:2: error: #error This
file requires compiler and library support for the upcoming ISO
C++ standard, C++0x. This support is currently experimental, and
must be enabled with the -std=c++0x or -std=gnu++0x compiler options.
s.cpp: In function ‘int main()’:
s.cpp:6:5: error: ‘array’ is not a member of ‘std’
解决方案:使用编译器选项-std=c++0x
编译它:
g++ -o s s.cpp -std=c++0x
./s
然后程序正确打印:
5