在以下 C++ 代码(来自 Microsoft COM 头文件)中,以 开头的部分是什么template<class Q>...
?
由于其他原因,我也完全感到困惑,因为虽然 astruct
正在使用中,但它具有类元素;例如,public
关键字。
extern "C++" {
struct IUnknown {
public:
virtual HRESULT WINAPI QueryInterface(REFIID riid,void **ppvObject) = 0;
virtual ULONG WINAPI AddRef(void) = 0;
virtual ULONG WINAPI Release(void) = 0;
template<class Q> HRESULT WINAPI QueryInterface(Q **pp) { return QueryInterface(__uuidof(*pp),(void **)pp); }
};
}