Borland C ++: неоднозначность с std (ошибка E2015) - PullRequest
1 голос
/ 19 ноября 2008

Я разрабатывал DLL в Visual Studio 2005. На данный момент он компилируется и выполняет то, что должен.

Однако я хотел скомпилировать его, используя Borland C ++ 2006, потому что я слышал, что он лучше и делает код быстрее. Когда я пытаюсь это сделать, я получаю сообщения об ошибках, подобные этому:

E2015 Неоднозначность между strcmp (const char *, const char *) и std :: strcmp (const char *, const char *)

Я изменил каждый экземпляр strcmp на std :: strcmp, чтобы решить проблему неоднозначности, и это работает, но мне интересно, есть ли более разумный способ сделать это.

Спасибо: -)

1 Ответ

6 голосов
/ 19 ноября 2008

Возможно, у вас есть

#include <cstring>

и

#include <string.h>

и

using namespace std;

в вашем коде где-то. cstring объявляет std :: strcmp, а string.h объявляет strcmp. Это вызывает двусмысленность. Если бы вы могли избежать выполнения всех этих трех вещей, это, вероятно, решило бы вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...