我有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
?
答案 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)