win32 API有两个方法StrFormatByteSize和StrFormatByteSizeEx.即使两个方法在语义上做同样的事情,并且Ex计数器部分只提供一个新参数来稍微改变行为,那么它们不能有两个相同函数的重载?
它是c/c ++的限制还是这种尴尬约定的可能原因是什么?
Win32 API是一个C(而不是C++)API.C语言不支持重载函数.
完全放弃:Win32 API使用__stdcall
-decorated函数,其中包括作为函数名称一部分的参数的字节数.__stdcall
不是C语言的一部分,但Windows链接器必须知道它.
微软本可以用它来实现某种重载,但是(因为很多语言都不理解重载)会限制可用于编程Windows的语言数量.
C语言根本不支持函数重载.