tuk*_*ket -1 c++ arrays push-back stdvector
这不编译:
vector<int[2]> v;
int p[2] = {1, 2};
v.push_back(p); //< compile error here
Run Code Online (Sandbox Code Playgroud)
什么是替代方案?我不想使用std::array.
std::vector自身的声明编译。这push_back是不编译的。
如果您真的不想使用,您可以使用包含数组的结构或包含两个整数的结构std::array:
struct coords {
int x, y;
};
vector<coords> v;
coords c = {1, 2};
v.push_back(c);
Run Code Online (Sandbox Code Playgroud)
或者,如前所述,您可以使用包含数组的结构:
struct coords {
int x[2];
};
vector<coords> v;
coords c = {1, 2};
v.push_back(c);
Run Code Online (Sandbox Code Playgroud)