c++ - 如何处理 "class type redefinition"

标签 c++

我正在尝试使用开源 VC++ 代码。 我正在尝试向现有的 VC++ 解决方案添加一个新项目,这变成了一场噩梦。 我面临的问题之一是修复“类型重新定义”错误,我已经修复了一些,但现在我被困在其他一些问题上。代码库很大,所以没有片段......

我的问题是,是否有任何“最佳实践”来追踪这些错误?

谢谢。

最佳答案

通过类型重新定义,我假设在您的工作区项目中定义了相同名称的 classes 或 typedef 并且它们在编译时引起了问题(不要与多定义链接器错误)。

最佳做法是始终将它们包含在模块或项目基础上的 namespace 中。
例如

// project1.h
namespace project1 {
  class X {};
}

// project2.h
namespace project2 {
  class X {};
}

关于c++ - 如何处理 "class type redefinition",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10926351/

相关文章:

c++ - boost::log 在容器中保存消息,然后将所有消息发送到后端

c++ - 在 C++ 中使用枚举编程 iota 相似性

java - C++ 和 Java 中的抽象方法和重写函数

c++ - 对 C++ 字符串的字符进行排序

c++ - 在声明和类名的定义中使用不同的类键是否合法?

c++ - 我丢失的 Edge 在哪里?

c++ - 测试静态常量成员的存储位置

C++ 创建数组?

c++ - 在结构 C++ 之间传递数组

c++ - 在 Visual Studio 2010 中编译单个 C++ 文件