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)
46
3
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
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" 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.
É 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.