首页 > 编程语言 >关于C/C++的Warning解释

关于C/C++的Warning解释

时间:2022-08-22 11:11:45浏览次数:58  
标签:语句 解释 ++ 复合 C++ Warning gets

关于C/C++的Warning解释

如何发现更多Warning

在编译时加上命令-Wall-Wextra

g++ a.cpp -o a.out -Wall -Wextra

Warning是极为有用的,可以提醒你一些意想不到的问题

关于Warning和error

operation on ‘i’ may be undefined

i的操作并没有被定义(执行)

这种情况常出现于复合语句内,个人认为属于编译器的问题

a[i++]=x;
//改为下面的版本即可避免Warning
a[i]=x;
i++;
//复合语句还是少用点好,

但有的时候,写在for里的复合语句的执行顺序可能不是你希望的

在有一题中,我WA0的原因就是因为复合语句

for (i = 1, x[++n] = A - a[n - 1]; i < n; i++) x[i] = a[i] - a[i - 1];
//但它的执行顺序并没有如我所想

n++;
for (i = 1, x[n] = A - a[n - 1]; i < n; i++) x[i] = a[i] - a[i - 1];
//相比之下,改成这样却能AC

value computed is not used

这个值没有被使用

在有逗号出现的地方Warning较多

s = x[1], y[1];
//注意,这里y[1]虽然在表达式中
//但它的值却并没有对表达式的值(变量s)的值有影响

//请确认是否把其它运算符号写成了逗号
s=x[1]+y[1];

‘gets’ was not declared in this scope

the `gets' function is dangerous and should not be used.

关于gets,它已经死了

对于CPP玩家,可以转用getline
使用:getline(cin,一个string类)

标签:语句,解释,++,复合,C++,Warning,gets
From: https://www.cnblogs.com/ssj233-aaa/p/16612168.html

相关文章

  • 《《关于我把好好的c++小游戏改的很ex》》
    #undefUNICODE#undef_UNICODE#include<iostream>#include<iomanip>#include<string>#include<cstdlib>#include<ctime>#include<windows.h>#include<conio.h>#inc......
  • C++中函数指针使用
    类成员函数指针(memberfunctionpointer),是C++语言的一类指针数据类型,用于存储一个指定类具有给定的形参列表与返回值类型的成员函数的访问信息。一般我们是不会使用的,都......
  • C和C++的一处小知识点(小坑)
    在C语言中voidmain(){constinti=0;int*j=(int*)&i;*j=1;printf("%d,%d",i,*j);system("pause");}结果输出为1,1在C++......
  • C++进程空间管理
     一、进程空间简介——参考博客1.  进程空间是一个虚拟空间,是逻辑上的空间,32位系统中,进程空间共4GB。该空间中的地址通过页表映射到实际内存的物理地址,虚拟的高地......
  • 问题解决——SSH时出现WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!(转)
    转自:问题解决——SSH时出现WARNING:REMOTEHOSTIDENTIFICATIONHASCHANGED!1、问题描述终端出现:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WA......
  • c++ RTTI Runtime Type Identification 运行阶段类型识别
    NoVirtualBase*NvirBase=newNovirtualDerivd();NvirBase->print();//autond1=dynamic_cast<NovirtualDerivd*>(NvirBase);//必须有虚方法auton......
  • C++反序列化--一种基于class infomation反射库的反序列化数据结构
    序列化与反序列化概念:将程序的某些数据存储在内存中,然后将其写入某个文件或是将它传输到网络中的另一台计算机上以实现通讯。这个将程序数据转化成能被存储并传输的格式的......
  • 【C++】 基本知识点
     strcmp()函数用法及其详解原型:intstrcmp(constchar*s1,constchar*s2);头文件:#include<string.h>功能:用来比较两个字符串参数:s1、s2为两个进行比较的字符串,......
  • c++ 友元类 友元类方法
    一、友元类#pragmaonce#include"Tv.h"classRemote{public:voidchanDown(Tv&tv);};#pragmaonceclassTv{public:friendclassRemote;voidchandown......
  • C++指针
    两种声明方式int*p=newint;*p=1000;inta=1000;int*p=&a;数组名和指针的区别指针的值可以修改,数组名是常量。pointerName=pointerName+1;//v......