C语言中变量大小对象为何不能初始化?这究竟是什么原因导致的编译错误?

2026-04-12 06:311阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计869个文字,预计阅读时间需要4分钟。

C语言中变量大小对象为何不能初始化?这究竟是什么原因导致的编译错误?

目录C++ 编译错误:variable-sized object may not be initializedC/C++ 常见编译运行错误总结

C++ 编译错误:variable-sized object may not be initializedint 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

    C语言中变量大小对象为何不能初始化?这究竟是什么原因导致的编译错误?

    该问题比较多,你提到的错误时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);

    总结

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

    本文共计869个文字,预计阅读时间需要4分钟。

    C语言中变量大小对象为何不能初始化?这究竟是什么原因导致的编译错误?

    目录C++ 编译错误:variable-sized object may not be initializedC/C++ 常见编译运行错误总结

    C++ 编译错误:variable-sized object may not be initializedint 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

      C语言中变量大小对象为何不能初始化?这究竟是什么原因导致的编译错误?

      该问题比较多,你提到的错误时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);

      总结

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