“class”类型重定义,include(头文件)重复加载 QT /c++
2012-02-22 19:27
477 查看
提示报错:"class”类型重定义
原因1:include 头文件重复加载
原因2:两个类相互include
解决:
1.include
头文件重复加载
在include之前添加
意思是只include一次就可以了。
原因2:两个类相互include
系统那些头文件,无论怎么include都没事,因为一般都用了宏定义,防止重复。
在头文件最上方写:
#ifndef AA (一个名字,尽量做到唯一)
#define AA(跟上边的名字一样)
文件最后写:
#endif
两个类之间互相引用:
就这样互相include后,肯定会出错。
需要在各自的声明前边,加上对方的声明,变成:
原因1:include 头文件重复加载
原因2:两个类相互include
解决:
1.include
头文件重复加载
在include之前添加
1 | #pragma once |
原因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; }
相关文章推荐
- “class”类型重定义,include(头文件)重复加载 QT /c++
- “class”类型重定义 || 防止头文件重复加载 || 两个类之间互相引用
- “class”类型重定义 || 防止头文件重复加载 || 两个类之间互相引用
- class”类型重定义 || 防止头文件重复加载 || 两个类之间互相引用
- “class”类型重定义 || 防止头文件重复加载 || 两个类之间互相引用
- c++ 中头文件重复定义的问题
- C++ 头文件中为何添加了#ifndef #define #endif还会出现变量重复定义的问题
- C++声明、定义、类的定义、头文件作用、头文件重复引用
- C++头文件包含问题-Include和class **
- C++头文件包含 include 和 class
- 多重继承头文件包含时导致class类型重定义的解决办法
- c++类型重复定义的问题
- C/C++由于头文件重复引入引起的成员或类重复定义的解决办法
- C++文件重复定义错误
- C++中inline函数的定义可放在头文件中,inline 函数重复出现不会导致连接错误,
- Qt QML 入门 — 使用C++定义QML类型
- C++ 关于声明,定义,类的定义,头文件作用,防止头文件在同一个编译单元重复引用,不具名空间
- C++ 关于声明,定义,类的定义,头文件作用,防止头文件在同一个编译单元重复引用,不具名空间
- 自定义C/C++头文件以及头文件重复定义解决
- C++ 关于声明,定义,类的定义,头文件作用,防止头文件在同一个编译单元重复引用,不具名空间