Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ #将问题包含在C+中+;_C++_.net_Winforms_Visual Studio 2010_C++ Cli - Fatal编程技术网

C++ #将问题包含在C+中+;

C++ #将问题包含在C+中+;,c++,.net,winforms,visual-studio-2010,c++-cli,C++,.net,Winforms,Visual Studio 2010,C++ Cli,我有三节课。 主类是Form1 另外两个是Form2和Class3 我将Form2和Class3包括在Form1中,我的意思是我在Form1中有以下内容: #include "Form2.h" #include "Class3.h" #include "Class3.h" 此外,在表格2中我包含了Class3,因此在表格2中我有以下内容: #include "Form2.h" #include "Class3.h" #include "Class3.h" 但我得到了重新定义的错误,我如何

我有三节课。 主类是
Form1
另外两个是
Form2
Class3
我将Form2和Class3包括在Form1中,我的意思是我在Form1中有以下内容:

#include "Form2.h"
#include "Class3.h"
#include "Class3.h"
此外,在表格2中我包含了Class3,因此在表格2中我有以下内容:

#include "Form2.h"
#include "Class3.h"
#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也使用Class3。第一次包含Form2和Class3时,下一行再次尝试包含Class3,然后出现重新定义错误

希望这能让你明白


p、 s:我强烈建议你对所有的.h文件都这样做,尽管我建议对整个项目使用一个头文件
*.hh
。我认为这是非常非常糟糕的建议,Basile。更好的做法是为每个.cpp文件都有一个头文件。好得多。@Aan:你的错误是什么?你的代码是什么样子的。听起来您需要开始在.h文件中使用,但根据您提供的信息,我不能确定。您有一个名为
Class3.h
的文件,但其中没有定义类。