有这句话在书C++底漆他们推出的头文件(第2.6.3节第76页第五版)前:C++入门级高清(初级)
When we define a class outside of a function, there may be only one definition of that class in any given source file. In addition, if we use a class in several different files, the class' definition must be the same in each file.
有可能是有点问题我解释最后一句话的方式。我的理解是,如果我想在不使用标题的情况下在同一个项目的多个文件中使用一个类,那么我必须在每个文件中定义该类。每个文件中的类都必须具有相同的名称和内容,否则编译器会发出抱怨。
但是,我试图在两个不同的源文件中定义两个具有相同名称但具有不同内容的类。我甚至使用这些类,但它完美的作品。
通常,_C++ Primer_将未定义的行为分类为类似于任何其他错误的错误,即使编译器不需要捕获所述错误:仅仅因为编译器不需要检测错误就不会使错误更少错误。 –