definition void foo() { ++a; } #include <foo.h> twice in a program and you get a linker error for two one-definition-rule
另一方面这个做法也与我们的原则:“在一个项目中,一个 module 只编译一次”相违背,还会增加 One-Definition-Rule Violation 的可能性。