Borland C ++:std的歧义(错误E2015)

时间:2008-11-18 22:33:03

标签: c++ c++builder ambiguity

我一直在Visual Studio 2005中开发一个DLL。目前它编译并执行它应该做的事情。

但是,我想用Borland C ++ 2006编译它,因为我听说这样做更好,并且代码更快。当我尝试这样做时,我收到如下错误消息:

  

E2015 strcmp (const char *,const char *)之间的歧义   std :: strcmp (const char *,const char *)

我已经将strcmp的每个实例更改为std :: strcmp来解决模糊问题并且它有效但我不知道是否有更聪明的方法来实现这一点。

谢谢: - )

1 个答案:

答案 0 :(得分:6)

你可能有

#include <cstring>

#include <string.h>

using namespace std;
在你的代码中的

。 cstring声明了std :: strcmp,而string.h声明了strcmp。这导致了歧义。如果你可以避免做所有这三件事,那可能会解决你的问题。