Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
初始化错误:如何在C+中创建多维零数组+; 此代码是用C++编写的多维数组,但它会初始化错误。数组的大小应由用户通过输入控制台给出,因此它不是常量。问题是什么?解决方案是什么?非常感谢 #include <iostream> using namespace std; int main() { int A , B ; cout << "A: " << endl; cin >> A ; cout << "B: " << endl; cin >> B ; int data[A][B] = {{0}}; return 0; } #包括 使用名称空间std; int main() { INTA,B; 库塔; cout B; int data[A][B]={{0}; 返回0; }_C++_Arrays - Fatal编程技术网

初始化错误:如何在C+中创建多维零数组+; 此代码是用C++编写的多维数组,但它会初始化错误。数组的大小应由用户通过输入控制台给出,因此它不是常量。问题是什么?解决方案是什么?非常感谢 #include <iostream> using namespace std; int main() { int A , B ; cout << "A: " << endl; cin >> A ; cout << "B: " << endl; cin >> B ; int data[A][B] = {{0}}; return 0; } #包括 使用名称空间std; int main() { INTA,B; 库塔; cout B; int data[A][B]={{0}; 返回0; }

初始化错误:如何在C+中创建多维零数组+; 此代码是用C++编写的多维数组,但它会初始化错误。数组的大小应由用户通过输入控制台给出,因此它不是常量。问题是什么?解决方案是什么?非常感谢 #include <iostream> using namespace std; int main() { int A , B ; cout << "A: " << endl; cin >> A ; cout << "B: " << endl; cin >> B ; int data[A][B] = {{0}}; return 0; } #包括 使用名称空间std; int main() { INTA,B; 库塔; cout B; int data[A][B]={{0}; 返回0; },c++,arrays,C++,Arrays,数组的大小应由用户通过输入控制台给出,因此它不是常量 这在C++中是不可能的。使用数组的合适替代品是使用std::vector。您可以使用: int A = 10, B = 4; std::vector<std::vector<int>> data(A, std::vector<int>(B, 0)); 问题是不能使用运行时值以这种方式指定数组的大小。如果你真的想使用C风格的数组,你可以选择一个最大大小并分配它,然后选择用户想要使用的大小,并且只使用其中的大

数组的大小应由用户通过输入控制台给出,因此它不是常量

<>这在C++中是不可能的。使用数组的合适替代品是使用
std::vector
。您可以使用:

int A = 10, B = 4;
std::vector<std::vector<int>> data(A, std::vector<int>(B, 0));

问题是不能使用运行时值以这种方式指定数组的大小。如果你真的想使用C风格的数组,你可以选择一个最大大小并分配它,然后选择用户想要使用的大小,并且只使用其中的大部分。您还可以分配一个正确大小的缓冲区,然后将其索引到ALC C,并在完成时释放缓冲区,但是这些技术更像使用C++中的C。@ AminJaili,请详细说明。@ AminJaili,我错过了结束括号。有一个打印错误:VooCrIT说:“vector不是STD的成员”!阿明,请不要说“它不起作用”。始终详细描述任何错误。
std::vector<std::vector<int> > data(A, std::vector<int>(B, 0));