Compiler Error C2638

 

For the latest documentation on Visual Studio 2017, see Visual Studio 2017 Documentation.

For the latest documentation on Visual Studio 2017, see Compiler Error C2638 on docs.microsoft.com. 'identifier' : __based modifier illegal on pointer to member

The __basedmodifier cannot be used for pointers to members.

The following sample generates C2638:

// C2638.cpp  
void *a;  
  
class C {  
public:  
   int i;  
   int j;  
   int func();  
};  
int __based (a) C::* cpi = &C::i;  // C2638  
int (__based (a) C::* cpf)() = &C::func; // c2638  

Show: