O que é um 'identificador não declarado' erro e como corrigi-lo?

O que são erros de identificação não declarados? Quais são as causas comuns e como corrigi-las?

Exemplos de textos de erro:

  • Para o compilador do Visual Studio: error C2065: ' cout' : identificador não declarado
  • Para o compilador do GCC: 'cout' não declarado (primeira utilização nesta função)

Na maioria das vezes eles vêm do esquecimento de incluir o arquivo de cabeçalho que contém a declaração de função, por exemplo, este programa dará um 'identificador não declarado' erro:

Cabeçalho em falta


int main() {
    std::cout 
Comentários (4)

Em C e C++ todos os nomes têm de ser declarados antes de serem utilizados. Se você tentar usar o nome de uma variável ou uma função que não't foi declarada você receberá um "identificador&quot não declarado; erro.

No entanto, as funções são um caso especial em C (e apenas em C) no sentido em que não'não tem de as declarar primeiro. O compilador em C irá assumir que a função existe com o número e tipo de argumentos, como na chamada. Se a definição real da função não corresponder, você receberá outro erro. Este caso especial para funções não existe em C++.

Você corrige este tipo de erros certificando-se de que as funções e variáveis são declaradas antes de serem utilizadas. No caso do `printf' você precisa incluir o arquivo de cabeçalho (ou em C++).

Para funções padrão, recomendo que você verifique, por exemplo, este site de referência, e procure pelas funções que deseja utilizar. A documentação para cada função diz-lhe de que ficheiro de cabeçalho necessita.

Comentários (0)

É como usar a função sem declará-la. o arquivo de cabeçalho conterá o função printf(). Incluir o ficheiro de cabeçalho no seu programa é a solução para isso. Algumas funções definidas pelo usuário também podem ser erradas quando não declaradas antes de usá-la. Se não é usado globalmente.

Comentários (0)