zoukankan      html  css  js  c++  java
  • C++常见错误整理

    1. 缺少类型说明符 假定为xxx:检查是否将类的声明没有前置,将类型的声明放在了使用之处的下方。

    1. 没有与指定类型匹配的 重载函数***的实例: 检查是否引入头文件,形参中的类型是否能够在该文件中可见,如果不可见,在该文件中声明或在该文件中引入头文件以便于能够在链接过程中找到该类型。

    2. 元素“1”:从float转换到const byte需要收缩转换:检查是否在该结构体中自己手动定义了构造函数并且在使用该结构提的时候是否没有按照构造函数应该定义的方式去定义变量而是使用原始的{x, y, z} 的方式进行了定义,改为构造函数的定义方式进行定义。


    1. 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int... :两个头文件都彼此包含了,如果是这样,则只需要将头文件中需要包含的那个类使用前置声明进行包含即可解决。当然,也可能是因为没有包含指定的头文件,头文件没有被找到,只要引入该头文件即可。

    1. 应输入表达式:一般情况下出现这种情况都是因为没有正常使用函数,这是一个比较低级的错误。比如说在宏中定义了一个函数或者方法并打算调用,该函数接收n个参数,但是在使用该宏的时候却没有按照定义的要求进行传参,传参过少或过多都会造成这类错误,修正方式就是按照定义的方式去调用函数/方法。

    1. 应输入“)”:如果不是自己漏加括号,在宏定义中语句末尾加入了分号往往会造成这样的结果,造成这种结果的原因是没有理解“宏定义”的概念;将宏定义语句末尾的分号去除即可。

    1. 表达式必须包含整数或枚举类型:一般都是因为类型不一致所导致的,比如,取余操作是针对整型的,而使用浮点型的时候则会出现这样的错误,有效办法就是进行强制类型转换,可靠办法是尽量不要出现这样的类型不一致的用法。





    作者:艾孜尔江
    转载请务必标明出处

  • 相关阅读:
    Bandit Wargame Level18 Writeup(interactive shell and .bashrc )
    Bandit Wargame Level12 Writeup
    Natas Wargame Level25 Writeup(头部注入+POST/GET注入)
    Mybatis 加载 Mapper配置的四种方式
    设计模式(四)---- 代理模式
    execute() 和 sumbit() 的区别
    Executors提供的四种线程池
    线程的三种实现方法
    同一个线程多次调用start()会出现的问题
    线程的介绍
  • 原文地址:https://www.cnblogs.com/ezhar/p/14177888.html
Copyright © 2011-2022 走看看