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

jbb*_*bbb 1 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来解决模糊问题并且它可以工作,但我想知道是否有更聪明的方法来实现这一点.

谢谢 :-)

Dav*_*hme 6

你可能有

#include <cstring>
Run Code Online (Sandbox Code Playgroud)

#include <string.h>
Run Code Online (Sandbox Code Playgroud)

和a

using namespace std;
Run Code Online (Sandbox Code Playgroud)

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