Overload no Delphi

Delphi

29/10/2016

Olá galera, boa noite!!

Sou novo no forúm e no delphi e gostaria de saber se estou utilizando o Overload de maneira correta, pois o Delphi está acusando erro. Logo abaixo o código.

interface
function Retornar_DadosVetor(posicao:integer):DadosCliente; Overload;
function Retornar_DadosVetor(id:integer):DadosCliente; Overload;

implementation

uses Constantes;

Var
VetorCliente: array of DadosCliente;

function Retornar_DadosVetor(posicao:integer):DadosCliente;
begin
//verifica se o cliente é inexistente ou foi removido
if VetorCliente[posicao].ID<>0
then Result:= VetorCliente[posicao];
end;
{
|------------------------------------------------------------------------------|
}
function Retornar_DadosVetor(id:integer):DadosCliente;
var
i: Integer;
TamVetor: Integer;
begin
//tamanho do vetor
TamVetor:= Length(VetorCliente);

//de 0 ate a quantidade de clientes ja cadastrados ou removidos
for i := 0 to TamVetor-2 do
begin
//caso a ID para o cliente exista, seus dados sao retornados
if VetorCliente[i].ID=id then
begin
Result:= VetorCliente[i];
exit;
end;
end;
end;

O erro acusado é o "Identifier Redeclared". Desculpem por não colocar dentro da TAG código, não consegui saltar linha!
Desde já agradeço!
Fellipe

Fellipe

Curtidas 0

Melhor post

Araujo Junior.

Araujo Junior.

31/10/2016

O problema do seu overload é que voce esta utilizando 2 metodos de nomes iguais e com o mesmo tipo e numero de variáveis. O correto seria assim:

function Retornar_DadosVetor(posicao:integer):DadosCliente; Overload;
function Retornar_DadosVetor(id:string):DadosCliente; Overload;


ou

function Retornar_DadosVetor(posicao:integer):DadosCliente; Overload;
function Retornar_DadosVetor(id:integer; blabla: string):DadosCliente; Overload;


Happy Code!!!
GOSTEI 1
POSTAR