4Manuals

  • PDF Cloud HOME

如何解决表达式在IAR中必须具有恒定值错误? Download

    获取Hough线的交点OpenCV C ++ 如何将字符串“ text1”设置为包含项目text1,text2,test3的组合框的选定项目? 为什么System.Net.Mail.MailAddress构造函数在域部分中解析带有斜杠“ /”的电子邮件? Android 10,API29:在应用程序文件夹中使用C ++库编写文件会使应用程序崩溃 Unity-LineRenderer没有出现在版本(2D)上 按下按钮后,电话中未显示通知 ASP.net,使用WebConfig httpErrors重定向到区域内的控制器不起作用 获取会议室详细信息 我们如何将参数Line转换为Station? 网络核心:查找实体框架核心的主键和反射

我收到编译错误:"expression must have a constant value",即使大小是一个常数。我的错在哪里我找不到??

 void foo(int n)
    {
    int x[n];
    int i = 5;
    if (i == 0)
    i--;
    x[i] = 5; //OK, since i is 4
    }

1 个答案:

答案 0 :(得分:0)

C89没有可变长度的数组,所以

此行是错误的:

int x[n];

这取决于函数参数n,它不是编译时常量。

您可以将原始数组替换为malloc:

int* x = malloc( n * sizeof( int ) );



Similar searches
    如何保留Slurm托管集群中提交的作业脚本? 如何强制SWT浏览器使用其他浏览器版本 默认React组件未呈现(Create-React-App) Flask_mail连接被拒绝 IIS 10中的网址重写