Ao se retornar um valor de função declarada como void, como ...
Considerando o código acima, julgue os itens a seguir, em
relação à programação em linguagem C++.
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.
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.Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo