#include issue in C++
#include issue in C++
我有3个类。主类是Form1
另外两个是Form2
&Class3
我在Form1中包含了Form2和Class3,我的意思是我在Form1中有以下内容:
#include "Form2.h"
#include "Class3.h"
此外,在 Form2 中,我包括了 Class3,因此我在 Form2 中有以下内容:
#include "Class3.h"
但是我重新定义了错误,我该如何解决这个问题。
我总是遇到这个问题,有时在stdafx.h
中包含标题就足够了,但有时不起作用。那么另一个问题是如何利用和利用在我的 C++/CLI winform 项目中默认创建的stdafx.h
?
尝试在 Class3.h 中添加以下内容:
#ifndef _CLASS3_H
#define _CLASS3_H
/* your code here */
#endif
那应该有效
所以你明白发生了什么,这正在阻止你的 Class3.h 重新定义一切,如果它已经完成。在您的程序中,Form1 使用 Class3,但 Form2 也是如此。第一次包含 Form2 时,类 3 也是如此,然后,下一行您尝试再次包含 Class3,然后您得到重新定义错误。
希望这能让你清楚
p.s.:不过,我强烈建议你对所有.h文件执行此操作
使用包括警卫或#pragma once
。
相关文章:
- netcat command in c++
- Difference in displaying cv2 Mat
- C++ MFC Libraries in Travis CI
- 如何在OpenSSL中从configuration.h.in获取configuration.h
- 创建具有 new in 函数和"this is nullptr"异常的对象
- IN, OUT, INOUT Parameters
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 有人安装"IITB Simplecpp in mac"吗?
- 从 C 样式字符串中删除子字符串 "in place" 在C++代码中
- 如何修复"error: ‘_1’ was not declared in this scope"?
- Softmax Implementation in C++
- 将 out/in out 参数与 if/switch 的 init 语句一起使用
- IF-nesting in c++
- Gurobi GRBModel and GRBmodel in C++
- Tensorflow Hub in C++
- Centos7 g++ "to_string is not in a member of std"
- InitializeCriticalSectionEx Not Located In KERNEL32.Dll
- 将 lambda 表达式传递给 std::function in C++
- @CPPFLAGS@在 Makefile.in 中意味着什么?
- std::async from std::async in windows xp