Compartilhar via


Erro do compilador C3848

expressão com o tipo 'type' perderia alguns qualificadores const-voláteis para chamar 'function'

Uma variável com um tipo const-volátil especificado só pode chamar funções membro definidas com as mesmas ou maiores qualificações const-voláteis.

A amostra a seguir gera o erro 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
}