C ++中的#include问题

时间:2013-01-23 14:20:15

标签: c++ .net winforms visual-studio-2010 c++-cli

我有3节课。 主要班级是Form1 另外两个是Form2& Class3 我包括Form2& Form1中的Class3,我的意思是我在Form1中有以下内容:

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

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

#include "Class3.h"

但是我得到了重新定义的错误,我怎么能解决这个问题。

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

2 个答案:

答案 0 :(得分:4)

尝试在Class3.h中添加它:

#ifndef _CLASS3_H
#define _CLASS3_H

/* your code here */

#endif

那应该有用

因此,您了解正在发生的事情,这样做是阻止您的Class3.h重新定义所有内容(如果已经完成)。在您的程序中,Form1使用Class3,但Form2也是如此。第一次包含Form2,Class3也是如此,然后,您尝试再次包含Class3的下一行然后会出现重新定义错误。

希望能让你清楚

p.s。:我强烈建议您使用所有.h文件执行此操作,但

答案 1 :(得分:3)