Exercícios Resolvidos de Templates

Ver Teoria

Enunciado

O código abaixo contém alguns erros. Identifique e corrija.

Passo 1

Vamos nessa, galerinha!

Essa é uma daquelas questões de encontrar erros. A melhor forma de resolver é olhar cada uma das linhas e procurar por problemas.

Passo 2

Os problemas começam a aparecer na linha 04.

Se você olhar com atenção, vai notar que o sufixo de template está errado. A forma correta do sufixo é:

t e m p l a t e < t y p e n a m e   N o m e T i p o >

O primeiro erro é que a linha começa com a palavra-chave errada, o correto é iniciar um template usando a palavra chave t e m p l a t e .

O segundo erro é que a palavra-chave t y p e n a m e está no lugar errado. O correto é usar o t y p e n a m e   dentro dos símbolos <   > .

E existe mais um erro, o uso inadequado do ponto-e-vírgula ; . Esse símbolo não deve ser usado no final do template. Lembre-se que o sufixo de template faz parte da declaração da função.

No caso desse código o nome do tipo genérico é T , então com isso está tudo certo.

Vamos aplicar estas correções no código:

Passo 3

Vamos pra linha seguinte. Na linha 05 nós fazemos a declaração do template de função propriamente dito.

A vantagem do template é que ele pode usar o tipo genérico T que foi definido na linha anterior.

Mas a um erro na linha 05, os parâmetros da função não estão declarados corretamente. O segundo parâmetro não possui nenhum tipo!

Vamos fazer a correção. Vamos adicionar o tipo genérico T logo antes do parâmetro y na linha 05:

Passo 4

Show de bola

Olhando pras próximas linhas, tudo parece está certo agora. Mas pra ter certeza, vamos rodar o código usando as correções que fizemos na linha anterior.

E prontinho. Código rodando liso que nem manteiga!

Resposta