gpt4 book ai didi

c++builder - C++Builder 6 和 C++Builder Seattle 中的 IntToStr 函数有什么区别?

转载 作者:搜寻专家 更新时间:2023-10-31 00:31:41 37 4
gpt4 key购买 nike

我可以在 C++Builder 6 中成功编译以下代码片段,但我无法在 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'

我已经检查了 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 有什么区别?

最佳答案

基本上在这种情况下存在歧义,意味着 IntToStr 有两个重载,需要不同的参数类型(intint64) .歧义是将提供的 long 类型降级为 int 或将其升级为 int64。这里的参数应该被强制转换到最匹配的类型。

关于c++builder - C++Builder 6 和 C++Builder Seattle 中的 IntToStr 函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33543482/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com