【发布时间】:2012-12-05 12:55:41
【问题描述】:
假设我在 IDL 中定义了这个函数,如下所示:
[propget, id(6), helpstring("property MyArray")]
HRESULT MyArray([out, retval] SAFEARRAY(myEnum)* pVal);
我想为 IDL 中定义的函数创建一个重载,如下所示:
[propget, id(7), helpstring("property MyArray")]
HRESULT MyArray([out, retval] SAFEARRAY(BSTR)* pVal);
但是在实现函数的类的头文件中,原来的声明是这样的:
STDMETHOD(get_InstalledScanningDetectors)(SAFEARRAY** pVal);
因此数组中项目的类型不再是签名的一部分。因为我正试图根据函数签名中的这种差异来创建一个重载函数。我该如何继续??
【问题讨论】:
-
你不能那样做。 @roman 有答案。将方法重命名为不同的名称。