Megosztás a következőn keresztül:


C2786-os fordítási hiba

"type" : érvénytelen operandus a __uuidof számára

Megjegyzések

A __uuidof operátor egy felhasználó által definiált típust vesz fel, amelyhez guid csatolva van, vagy egy ilyen felhasználó által definiált típusú objektumot. Lehetséges okok:

  1. Az argumentum nem felhasználó által definiált típus.

  2. __uuidof A GUID nem nyerhető ki az argumentumból.

példa

A következő példa C2786-ot hoz létre:

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

int main() {
   __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
}