gpt4 book ai didi

c++ - C++ 中的#include 问题

转载 作者:搜寻专家 更新时间:2023-10-30 23:59:59 24 4
gpt4 key购买 nike

我有 3 个类(class)。主类是 Form1另外两个是Form2 & Class3我在 Form1 中包含了 Form2 和 Class3,我的意思是我在 Form1 中有以下内容:

#include "Form2.h"
#include "Class3.h"

另外,在 Form2 中我包含了 Class3,所以我在 Form2 中有以下内容:

#include "Class3.h"

但是我得到重新定义错误,我该如何解决。

我总是遇到这样的问题,有时在 stdafx.h 中包含 header 就足够了,但有时却不起作用。那么另一个问题是如何利用和利用在我的 C++/CLI winform 项目中默认创建的 stdafx.h

最佳答案

尝试在 Class3.h 中添加:

#ifndef _CLASS3_H
#define _CLASS3_H

/* your code here */

#endif

这应该行得通

所以你明白发生了什么,这是在阻止你的 Class3.h 重新定义一切,如果它已经完成的话。在您的程序中,Form1 使用 Class3,但 Form2 也使用。第一次包含 Form2 时,也包含 Class3,然后,下一行尝试再次包含 Class3,然后出现重定义错误。

希望这能让你明白

p.s.:尽管如此,我强烈建议您对所有 .h 文件执行此操作

关于c++ - C++ 中的#include 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14481925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com