Compiler Error C3848


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

The latest version of this topic can be found at Compiler Error C3848.

expression having type 'type' would lose some const-volatile qualifiers in order to call 'function'

A variable with a specified const-volatile type can only call member functions defined with same or greater const-volatile qualifications.

The following samples generate C3848:

// C3848.cpp  
void glbFunc1()  
typedef void (* pFunc1)();  
struct S3  
   operator pFunc1() // const  
      return &glbFunc1;  
int main()  
   const S3 s3;  
   s3();   // C3848, uncomment const qualifier