Compartilhar via


Erro do compilador C2561

'identifier': a função precisa retornar um valor

A função foi declarada como retornando um valor, mas a definição da função não contém uma instrução return.

Esse erro pode ser causado por um protótipo de função incorreto:

  1. Se a função não retornar um valor, declare a função com o tipo de retorno nulo.

  2. Verifique se todos os branches possíveis da função retornam um valor do tipo declarado no protótipo.

  3. As funções C++ que contêm rotinas de assembly embutidas que armazenam o valor retornado no registro AX podem precisar de uma instrução de retorno. Copie o valor em AX para uma variável temporária e retorne essa variável da função.

O seguinte exemplo gera C2561:

// C2561.cpp
int Test(int x) {
   if (x) {
      return;   // C2561
      // try the following line instead
      // return 1;
   }
   return 0;
}

int main() {
   Test(1);
}