当前位置 : 主页 > 编程语言 > c语言 >

C++编译错误variable-sized object may not be initiali问题

来源:互联网 收集:自由互联 发布时间:2023-05-16
目录 c++ 编译错误 variable-sized object may not be initialized c/c++常见编译运行错误 常见的编译运行错误 总结 c++ 编译错误 variable-sized object may not be initialized int a = 4;int b = 5;char new_arr[a][b] = {0}
目录
  • c++ 编译错误 variable-sized object may not be initialized
  • c/c++常见编译运行错误
    • 常见的编译运行错误
  • 总结

    c++ 编译错误 variable-sized object may not be initialized

    int a = 4;
    int b = 5;
    char new_arr[a][b] = {0};  //此处会报错 variable-sized object may not be initialized
    // 报错:可变长的队列不能被初始化, 意思是ab都是变量,不能在申明new_arr的时候,直接初始化new_arr内的元素
    // 正确的做法如下
    int a = 4;
    int b = 5;
    char new_arr[a][b];
    for(int i=0;i<a;i++)
        for(int j=0;j<b;j++)
            new_arr[i][j] = 0;

    只能说用习惯了Python再用C++,会出现觉得理所当然的东西突然不对了,有点无从下手

    c/c++常见编译运行错误

    常见的编译运行错误

    1.c++编译出现iostream no such file or directory 的原因

    将.cpp 文件 误设为了.c 文件。

    **解决办法:**删除这个文件, 重新建立.cpp文件,重新编译

    2.c/c++ 出现‘a’ was not declared in this scope

    表示a变量未被定义,最好的解决方式是把它定义成全局变量

    3.当运行结束时,输入一个数字或字符按一下回车键就输出结果(按理还会输出内容)

    表示有些东西没读进去一些内容,需要检查个循环是不是加入了封号,他会让循环直接结束

    4.在网上用洛谷和pat时,一定要严格的赋值初始化,因为这些编译软件非常严格

    关于文件的保存时 不能出现

    * < > / \ | ? : "" 这些字符都不可以出现的

    5.[error] ld returned 1 exit status

    • 表示小黑窗没有关
    • 还有一种情况就是,函数的字母错着呢,如void cos(float);在下面写的时候,写成了void cox()就会出现小黑窗,这种情况一定是由不细心造成的

    7.suffix "ac" on integer constant

    该问题比较多,你提到的错误时ift条件中4ac 中间没有加* 引起的

    8.当出现警告时,程序能整成运行出结果,说明这种警告无关紧要

    ‘int index [5005]'被重新声明为不同意义的符号
     int num[5005], score[5005], index[5005];
    这个错误表示,index为系统定义的符号,需要改变index变量,变成其他的都行
        C3863 不可指定数组类型“int [510]”

    有时候运行错误,也可能是数组开的范围太小的缘故。

    ==C3863 不可指定数组类型“int [510]”==原因

    而在使用fill对数组初始化时,并没有采用二维数组初始化的方式,而是写成了:
    fill(e, e + 510 * 510, inf);
    正确写法应该是:
    fill(e[0], e[0] + 510 * 510, inf);

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

    网友评论