重新定义和使用失败 ifned/def/endif
Redefinition and fail to use ifned/def/endif
我正在尝试制作一个遵循以下 UML 图的程序
我已将每个 class 分成各自的 header 和 cpp。然而,在对它进行一些测试时,我发现了很多重新定义的消息,所以我尝试使用 ifndef、def 和 endif,但是正如你在这张图片中看到的(我的佣金工人 header),好像我不是包括员工 header
我正在使用 Visual Studio 相关代码(另外,我仔细检查了我的文件名,所以这不是问题所在)
您通过使用预处理器指令 #include "HEADERNAME.h/hpp"
包含员工 Class 的 header 文件
在您的情况下:#include "Employee.h"
,如果您的 header 文件是这样调用的。
您使用了所谓的 "Include/Header 守卫",用于防止多重 header 包含 。这些应该放在各自的 header 文件中,而不是放在包含它的其他 header 文件中。
或者,您可以使用 #pragma once
。它是 non-standard,但应该得到广泛支持。
对于您的字符串,您想这样处理命名空间 std:std::string
我正在尝试制作一个遵循以下 UML 图的程序
我已将每个 class 分成各自的 header 和 cpp。然而,在对它进行一些测试时,我发现了很多重新定义的消息,所以我尝试使用 ifndef、def 和 endif,但是正如你在这张图片中看到的(我的佣金工人 header),好像我不是包括员工 header
我正在使用 Visual Studio 相关代码(另外,我仔细检查了我的文件名,所以这不是问题所在)
您通过使用预处理器指令 #include "HEADERNAME.h/hpp"
包含员工 Class 的 header 文件
在您的情况下:#include "Employee.h"
,如果您的 header 文件是这样调用的。
您使用了所谓的 "Include/Header 守卫",用于防止多重 header 包含 。这些应该放在各自的 header 文件中,而不是放在包含它的其他 header 文件中。
或者,您可以使用 #pragma once
。它是 non-standard,但应该得到广泛支持。
对于您的字符串,您想这样处理命名空间 std:std::string