伙伴云客服论坛»论坛 S区 S软件开发 查看内容

0 评论

0 收藏

分享

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

目录

    c++ 编译错误 variable-sized object may not be initializedc/c++常见编译运行错误
      常见的编译运行错误
    总结


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

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

以上为个人经历,希望能给大家一个参考,也希望大家多多支持网站。

回复

举报 使用道具

相关帖子
全部回复
暂无回帖,快来参与回复吧
本版积分规则 高级模式
B Color Image Link Quote Code Smilies

洪荒之力
注册会员
主题 21
回复 22
粉丝 0
|网站地图
快速回复 返回顶部 返回列表