Я могу успешно скомпилировать приведенный ниже фрагмент кода в C++Builder 6, но не могу скомпилировать его в RAD Studio Seattle:
unsigned long x = 50;
String s = IntToStr(x);
[Ошибка bcc32] Unit1.cpp(55): E2015 Неоднозначность между '_fastcall System::Sysutils::IntToStr(int) в c:\program files (x86)\embarcadero\studio\17.0\include\windows\rtl\System. SysUtils.hpp:3182' и '_fastcall System::Sysutils::IntToStr(__int64) в c:\program files (x86)\embarcadero\studio\17.0\include\windows\rtl\System.SysUtils.hpp:3183'
Я проверил это определение IntToStr
.
C++Builder 6:
extern PACKAGE AnsiString __fastcall IntToStr(int Value)/* overload */;
extern PACKAGE AnsiString __fastcall IntToStr(__int64 Value)/* overload */;
C++Builder Сиэтл:
extern DELPHI_PACKAGE System::UnicodeString __fastcall IntToStr(int Value)/* overload */;
extern DELPHI_PACKAGE System::UnicodeString __fastcall IntToStr(__int64 Value)/* overload */;
extern DELPHI_PACKAGE System::UnicodeString __fastcall UIntToStr(unsigned Value)/* overload */;
extern DELPHI_PACKAGE System::UnicodeString __fastcall UIntToStr(unsigned __int64 Value)/* overload */;
В чем разница между C++Builder 6 и C++Builder Seattle?