次の方法で共有


コンパイラ エラー C2788

'identifier' : 1 つ以上の GUID がこのオブジェクトに関連付けられています

__uuidof 操作は、GUID がアタッチされたユーザー定義型、またはそのようなユーザー定義型のオブジェクトを取ります。 このエラーは、引数が複数の GUID を持つオブジェクトである場合に発生します。

次の例では C2788 が生成されます。

// C2788.cpp
#include <windows.h>
struct __declspec(uuid("00000001-0000-0000-0000-000000000000")) A {};
struct __declspec(uuid("{00000002-0000-0000-0000-000000000000}")) B {};
template <class T, class U> class MyClass {};

typedef MyClass<A,B> MyBadClass;
typedef MyClass<A,A> MyGoodClass;

int main() {
   __uuidof(MyBadClass);    // C2788
   // try the following line instead
   __uuidof(MyGoodClass);
}