首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-04-20 
请问这样的问题怎么解决?int ncinnint a[n][n]报错?[解决办法]数组不能这么定义啊![解决办法]数组中

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


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更方便。

热点排行