enum overloading

Ary Borenszweig ary at esperanto.org.ar
Sat May 22 14:57:22 PDT 2010


strtr wrote:
> Sorry, should have included this :)
> 
> ----
> module main;
> import std.string;
> import std.stdio;
> 
> enum ENUM { A,B }
> 
> char[] toString(ENUM e_){return "enum";}
> 
> void main (){
> 	writefln( toString(3) );
> 	writefln( toString(ENUM.A) );
> }
> --
> main.d(10): Error: function main.toString (ENUM) does not match parameter types (int)
> main.d(10): Error: cannot implicitly convert expression (3) of type int to ENUM
> ----

That's not overloading, you are expecting an implicit conversion from 
int to ENUM. Maybe if you cast 3 to ENUM, but still... no ENUM value 
will be found for 3. What are you trying to do?


More information about the Digitalmars-d-learn mailing list