我在两个不同的头文件中使用了相同的typedef
,即在“clientMsgHandling.h”和“connectivity.h”中,我选择了完全实现typedef std::list<int> listInt;
。
我选择这样做而不是在“clientMsgHandling.h”中包含“connectivity.h”,反之亦然,所以它在设计上会更清晰(对我而言),我觉得这是一个设计选择,即没有对错。
main.cpp中包含“clientMsgHandling.h”和“connectivity.h”,我想在listInt
中使用main()
。
我的问题是,这是否会引起任何问题?两个typedef完全相同,这仍然是设计问题还是现在涉及编译器安全问题?我在使用它时没有编译器错误,但我想确保没有发生我不知道的事情。
答案 0 :(得分:2)
如果您对设计有疑虑,为什么不将typedef移动到自己的.h文件?只需将其包装在正确的#ifndef ... #endif
之间这样编译器只会看到它一次。