读书人

请教这样的有关问题如何解决

发布时间: 2013-04-20 19:43:01 作者: rapoo

请问这样的问题怎么解决?


int n;
cin>>n;
int a[n][n];报错?

[解决办法]
数组不能这么定义啊!
[解决办法]
数组中的值,必须在编译之前给给定,但动态数组可以再执行到那一行时给定
[解决办法]
编译器编译阶段还不知道你的n到底是多大,没有办法分配空间,可以动态分配
    int n; cin>>n; 
// 开辟空间
int **p = (int **)new int[sizeof(int)*n];
for (int i = 0; i != n; ++i)
{
p[i] = new int [n];
}

// 释放空间
for (int i = 0; i != n; ++i)
{
delete []p[i] ;
}
delete []p;

[解决办法]
可以像4楼那样new,我觉得其实用vector更方便。

读书人网 >C++

热点推荐