QT c++ 时 肯定include了编译器却说找不到声明的状况,复制代码出现的异常。

一、在C++ 编程时,尽可能不要复制代码编程,如果代码确实相同,通过复制可以大大节约时间,一定要注意 一些细节,否则就会出现莫名的问题 如:

1.在创建v_op_retain.h时复制了 v_op_important.h代码时,同时将#ifndef #define #endif

即 #ifndef V_OP_IMPORTANT_H
#define V_OP_IMPORTANT_H
#endif // V_OP_IMPORTANT_H

 也进行了替换,结果导致 在引用 v_op_retain的地方部是找不到 v_op_retain

最后发现

 

修改 为:

 

然后再编译一切ok.

总结: 复制代码时,会导致宏定义重复,会导致编译器出现莫名奇妙的问题,所以大家在复制代码时,要精细一些,类文件创建默认生成的宏不要随意修改。复制代码时只复制核心部分即可。

格式如下:

#ifndef __**** _H_

#define __***** _H_

...//一些声明语句

#endif

        #ifdndef的方式依赖于宏名不允许冲突。这不光可以保证同一个文件不会被包含多次,也能保证内容完全相同的两个文件不会不小心被同时包含。

但不同头文件的宏名不小心相同,就会破防,明明引用,编译器却找不到声明的
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值