次の C++ コード (Microsoft COM ヘッダー ファイルから) で、 で始まる部分は何template<class Q>...
ですか?
struct
aは使用されていますが、クラスのような要素があるため、他の理由でも完全に混乱しています。たとえば、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); }
};
}