#include issue in C++

#include issue in C++

本文关键字:C++ in issue #include      更新时间:2023-10-16

我有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