本文共 460 字,大约阅读时间需要 1 分钟。
提示报错:"class”类型重定义
原因1:include 头文件重复加载
原因2:两个类相互include
解决:
1.include 头文件重复加载
在include之前添加
1 | #pragma once |
意思是只include一次就可以了。
原因2:两个类相互include
系统那些头文件,无论怎么include都没事,因为一般都用了宏定义,防止重复。
在头文件最上方写:
#ifndef AA (一个名字,尽量做到唯一)
#define AA(跟上边的名字一样)
文件最后写:
#endif
两个类之间互相引用:
A.H:class A{B* b;}B.H:class B{A* b;}
就这样互相include后,肯定会出错。
需要在各自的声明前边,加上对方的声明,变成:
转载地址:http://nemji.baihongyu.com/