Determine se os segmentos de programa a seguir contêm erros. Explique como cada erro pode ser corrigido. [Nota: para um segmento de programa em particular, é possível que nenhum erro esteja presente no segmento.]
a) template
int sum( int num1, int num2, int num3 )
{
return num1 + num2 + num3;
}
b) void printResults( int x, int y )
{
cout
return x + y;
}
c) template
A product( A num1, A num2, A num3 )
{
return num1 * num2 * num3;
}
d) double cube( int );
int cube( int );
Passo 1
Fala Galera!!! Tudo certo? Espero que sim!! Bora para mais um exercício.
Bora analisar cada alternativa e verificar se tem algum erro.
Na letra a) é verificado um erro, onde na linha 2 a função sum e os argumentos devem ser do tipo do template A e não do tipo int.
Logo, o correto seria escrever o código da seguinte maneira:
template
A sum( A num1, A num2, A num3 )
{
return num1 + num2 + num3;
}
Passo 2
Na letra b) o erro está na linha 1, onde a função printResults é especificada do tipo void porém o argumentos são passados do tipo int
O correto é escrever o código da seguinte forma:
int printResults( int x, int y )
{
cout
return x + y;
}
Passo 3
Na letra c) o erro está na linha 1, onde o template A está declarado de forma errada. O template precissa do argumento class.
O correto é escrever o código da seguinte forma:
template
A product( A num1, A num2, A num3 )
{
return num1 * num2 * num3;
}
Passo 4
Na letra d) o erro está na linha 1, onde a função cube é especificada do tipo double, porém recebe o argumento int.
O correto é escrever o código da seguinte forma:
double cube( double );
int cube( int );
E assim finalizamos esse exercício galera!!! Até o próximo.
Resposta
Resolução acima.