ATL课程CComBSTR有一个BSTR
成员m_str
和一个operator BSTR ()
,返回m_str
。
现在,如果函数以BSTR *
为参数,是否可以传递CComBSTR
的地址?
CComBSTR path;
// signature is IzFileFinder::GetDir(CY index, LPBSTR path)
fileFinder->GetDir(INT64toCURRENCY(i), &path);
编译器没有抱怨,但如果确实没问题,为什么会这样?
答案 0 :(得分:1)
您没有传递CComBSTR
的地址,而是传递其m_str
成员的地址。 CComBSTR
恰好提供了返回operator&()
的{{1}}。