1

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

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

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

我已将 strcmp 的每个实例更改为 std::strcmp 以解决歧义问题并且它有效,但我想知道是否有更聪明的方法来做到这一点。

谢谢 :-)

4

1 回答 1

6

你可能有

#include <cstring>

#include <string.h>

和一个

using namespace std;

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

于 2008-11-18T22:46:10.203 回答