今天写代码的时候遇到一个这个问题,一直报错,说未定义基类,实际上是定义了的,但是就是报错.我分析问题的思路记录一下.这个问题
这个是微软给的提示.我明明定义了但是就是没找到.
后来我分析应该是编译器在预编译头文件的时候先读取了子类头文件再读取基类头文件,这样在分析子类代码的时候发现基类,但是由于没有分析基类头文件,编译器其实并不知道有这么个基类.所以就提示这么个错误.
其实我这个错误是因为我的编程习惯导致的.
我喜欢把所有的头文件汇总到一个头文件中,这样在其他头文件或者源文件直接包含着一个头文件就解决问题了.今天这个问题就是因为我这个陋习导致的.
头文件就是我的那个包含了所有的文件,由于Utility类是基类预编译器分析了Utility.h这个头文件,接着 这个头文件又包含了自己.导致的头文件混乱.
解决方法就是每个类的头文件只包含自己的头文件.不把所有头文件放一个文件中.