0
点赞
收藏
分享

微信扫一扫

【c++ debug】C++常见编译问题解决方法

耳一文 2022-04-17 阅读 168

 
c++编译过程中遇到的问题解决方法记录

1. error:xxx is not a member of ‘xxx‘, no matching function…

  • 问题原因

    头文件循环依赖

  • 解决方法

    头文件循环依赖解决方法

2. xxx.so: 对‘self-defined function‘ 未定义的引用;recipe for target xxx failed.

  • 问题原因

    生成可执行文件时没有找到被调函数的具体实现

  • 解决方法

    生成可执行文件没有找到被调函数的实现报错解决方法

3. ‘xxx’ does not name a type

  • 问题原因

    没有添加被调函数头文件;
    加了被调函数头文件,但是调用时类名写错;
    头文件互相依赖

  • 解决方法

    (1) 如果是因为头文件互相依赖,根本的解决方法是解耦。临时解决方法
    提前声明 或 将不知道具体类型的类声明为指针

    (2) 被调函数头文件未添加

4. error: prototype for ‘function’ does not match any in class

  • 问题原因

    函数声明和定义不一致(函数名写错/返回类型写错/参数写错等);
    被调函数在类中没有声明;

  • 解决方法

    被调函数在类中没有声明

    如果是声明和定义不一致,检查修改即可

5. error ‘xxx’ has not been declared

  • 问题原因

    忘记添加被调函数的头文件;
    没有在命名空间内或者命名空间写错;

  • 解决方法

    xxx未声明问题解决方法

6. error: non-member function ‘xxx’ cannot have cv-qualifier

  • 问题原因

    非成员函数尾部添加了const;
    添加了const的成员函数声明和定义不一致;
    static静态成员函数尾部添加了const;

  • 解决方法

    can not have cv-qualifier报错解决


参考文章:

头文件循环依赖报错
xxx not been declared

created by shuaixio, 2022.04.17

举报

相关推荐

0 条评论