Export (0) Print
Expand All
Expand Minimize

Compiler Error C2786

'type' : invalid operand for __uuidof

The __uuidof operator takes a user-defined type with a GUID attached or an object of such a user-defined type.

Possible causes

  • The argument is not a user-defined type.
  • _uuidof cannot extract the GUID from the argument.

Example

// C2786.cpp
struct __declspec(uuid("00000000-0000-0000-0000-000000000000")) A {
};

void MyFunction(void)
{
    __uuidof(int);     // C2786
    __uuidof(int *);   // C2786
    __uuidof(A **);    // C2786

// no error
    __uuidof(A);
    __uuidof(A *);
    __uuidof(A &);
    __uuidof(A[]);

    int i;
    int *pi;
    A **ppa;

    __uuidof(i);      // C2786
    __uuidof(pi);     // C2786
    __uuidof(ppa);    // C2786
}
Show:
© 2014 Microsoft