当前位置:   article > 正文

记一次报错“xxx类 does not name a type“

does not name a type

一般遇到这种错误,首先想到的是没有包含.h文件,或者存在循环include的问题.于是反复检查是否包含了xxx类所在的.h文件,或者查看是否存在循环include.

今天遇到的问题却不是这两种,而是因为#ifndef HEADER_NAME的问题.因为新写的.h文件是复制一个之前存在.h文件后在此基础上改的,所以忘记了把#ifndef的内容给改掉,最后造成2个.h文件中有相同的宏判断:

#ifndef HEADER_NAME
#define HEADER_NAME

//头文件内容

#endif
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

因为宏判断的含义是,如果没有定义HEADER_NAME的话,则定义HEADER_NAME,然后执行头文件内容.反之,则直接结束.我后来建的头文件,在编译时之前的HEADER_NAME已经定义,导致头文件中的内容没有被执行,因此报"xxx类 does not name a type"的错误.因为这种情况和没有包含头文件的本质是一样的.

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号