看看'some symbol'的先前定义

Uda*_*day 1 c++ visual-studio

在用c ++编程的时候,大多数时候我得到'某个符号'已经被定义了之前的'some symbol'定义

我认为这是因为包含了不正确的头文件顺序.

我怎样才能找到'某些符号'的所有定义

提前谢谢,Uday

编辑:

我正在使用visual studio我记得有些命令像dumpbin/exports(我不记得确切)得到所有的定义

Dav*_*eas 7

这通常是由于几个常见问题而发生的:

  • 你正在重新定义相同的符号
  • 你包括一个头文件多次,它没有包含警卫
  • 你错误地向前声明一个不兼容的类型,然后包括

我会开始尝试修复第二个问题.确保所有标题都包含防护,这样如果您从不同的位置包含它们,它将不会尝试重新定义符号:

#ifndef HEADER_FILE_NAME_GUARD // or something alike
#define HEADER_FILE_NAME_GUARD
// rest of file
#endif
Run Code Online (Sandbox Code Playgroud)

如果您需要订购包含,那么您将在以后遇到麻烦,确保您可以并且确实在所有地方包含所有依赖项.(或者如果可以的话,转发声明)