Ao se retornar um valor de função declarada como void, como ...

Próximas questões
Com base no mesmo assunto
Q65807 Programação
Imagem 001.jpg

Considerando o código acima, julgue os itens a seguir, em
relação à programação em linguagem C++.

Ao se retornar um valor de função declarada como void, como ocorre entre as linhas de 24 a 29, produz-se erro de sintaxe.
Alternativas

Comentários

Veja os comentários dos nossos alunos

Produz-se um erro de semântica.

Não gera erro algum, a instrução return 0 força a saída do método.

O trecho "return 0;" produz erro, como dito anteriormente, semantico pois envolve o que o programador quis dizer e não os comandos que ele utilizou.
Vale lembrar que se fosse apenas "return;", não haveria problema algum.

Claro que produz erro:

void test()

{

    return 0;

}

int main()

{

   cout << "Hello World" << endl; 

   test();

   return 0;

}

 g++ -o main *.cpp 

main.cpp: In function 'void test()': 

main.cpp:6:12: error: return-statement with a value, in function returning 'vo

id' [-fpermissive] 

 return 0;

Isso é erro de sintaxe, pois é regra, funções void não podem retornar valor! O compilador não gera o espaço de memória para o retorno em funções void, essa questão deveria ser correta.

Para entender melhor:

- Erro de Sintaxe: Linha de código escrita errada. Ex.: Esquecer o ";", Esquecer alguma expressão de um for, Chamar métodos que não existem, etc.
- Erro de Semântica: Erro no funcionamento do código escrito. O código está escrito corretamente, mas não funciona, não faz sentido.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo