您的位置:首页 > 编程语言 > C语言/C++

“class”类型重定义,include(头文件)重复加载 QT /c++

2012-02-22 19:27 477 查看
提示报错:"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后,肯定会出错。

需要在各自的声明前边,加上对方的声明,变成:
A.H:

class B;

class A{

B* b;

}

B.H:

class A;

class B{

A* b;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐