On Mon, Jun 18, 2018 at 3:04 PM, David Jenkins
<da...@scootersoftware.com> wrote:
> The following code:
>
>
> {$MODE DELPHI}
>
> program CharOverload;
>
> uses
>   SysUtils;
>
> procedure Foo(const aArg: UnicodeString); overload;
> begin
>   WriteLn('WideString: ', aArg);
> end;
>
> procedure Foo(c: WideChar); overload;
> begin
>   WriteLn('Char: ', c);
> end;
>
> begin
>   Foo('abc');
> end.
>
>
> Fails with current trunk fpc with the following messages
>
>
> [odysseus:fpc-trunk$] compiler/ppc386 ~/Desktop/test/CharOverload.pp
> Free Pascal Compiler version 3.1.1 [2018/06/18] for i386
> Copyright (c) 1993-2018 by Florian Klaempfl and others
> Target OS: Darwin for i386
> Compiling /Users/djenkins/Desktop/test/CharOverload.pp
> CharOverload.pp(19,3) Error: Can't determine which overloaded function to
> call
> CharOverload.pp(19,12) Error: Illegal type conversion: "Constant String" to
> "WideChar"
> CharOverload.pp(20,4) Fatal: There were 2 errors compiling module, stopping
> Fatal: Compilation aborted
>
>
> It fails with same messages with {$MODE OBJFPC}.  Is this known. I can enter
> a Mantis if desired.

Hey David,
The compiler says "Can't determine which overloaded function to call"
because both are strings.

Marcos Douglas
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to