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 を宣言します。それが曖昧さを引き起こしています。これら 3 つのことすべてを避けることができれば、おそらく問題は解決するでしょう。

于 2008-11-18T22:46:10.203 に答える