I can compile successfully the below code snippet in C++Builder 6, but I can't compile it in RAD Studio Seattle:
unsigned long x = 50;
String s = IntToStr(x);
[bcc32 Error] Unit1.cpp(55): E2015 Ambiguity between '_fastcall System::Sysutils::IntToStr(int) at c:\program files (x86)\embarcadero\studio\17.0\include\windows\rtl\System.SysUtils.hpp:3182' and '_fastcall System::Sysutils::IntToStr(__int64) at c:\program files (x86)\embarcadero\studio\17.0\include\windows\rtl\System.SysUtils.hpp:3183'
I've checked that IntToStr
definition.
C++Builder 6:
extern PACKAGE AnsiString __fastcall IntToStr(int Value)/* overload */;
extern PACKAGE AnsiString __fastcall IntToStr(__int64 Value)/* overload */;
C++Builder Seattle:
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 */;
What is the difference between C++Builder 6 and C++ Builder Seattle?