如何避免在没有命名空间的 C++ 中重复类

how to avoid duplicate class in c++ without namespace

本文关键字:C++ 命名空间 何避免      更新时间:2023-10-16

只是猜测一个情况,main.cpp应该同时包含'a.h'和'b.h',类'C'在a.h和b.h中都有定义,但其成员函数的名称相同但不同,即类'C'的版本是不同的。 但是,main.cpp需要类"C"的两个版本。

那么如何避免问题中的错误呢?

不要尝试使用相同的(完全限定的)名称定义两个不同的类;这是不允许的。重命名其中一个,或将其放在其他命名空间中。

那么如何避免问题中的错误呢?

正如你所说,使用命名空间。如果您不喜欢命名空间,请改变您的意见。

有两个名称相同但含义不同的符号是非法的。

仅此而已。