相关疑难解决方法(0)

std ::数组的向量

以下声明通过编译检查:

int arr[3];
vector<int[3]> vec;  // ok !!
Run Code Online (Sandbox Code Playgroud)

当试图vec实际使用时,

vec.push_back(arr);
Run Code Online (Sandbox Code Playgroud)

它导致许多错误,如:

/usr/include/c++/4.6/ext/new_allocator.h:108:9: error: ISO C++ forbids initialization in array new [-fpermissive]
/usr/include/c++/4.6/bits/vector.tcc:314:4: error: invalid array assignment 
/usr/include/c++/4.6/ext/new_allocator.h:118:30: error: request for member ‘~int [3]’ in ‘* __p’, which is of non-class type ‘int [3]’
Run Code Online (Sandbox Code Playgroud)

另外,vec也不push_back()int*.

这到底出了什么问题?是否在C++ 11中解决了这个问题?

c++ arrays compiler-errors vector

1
推荐指数
3
解决办法
3432
查看次数

标签 统计

arrays ×1

c++ ×1

compiler-errors ×1

vector ×1