Thread overview | |||||
---|---|---|---|---|---|
|
February 20, 2007 Overloading issue with enum in dmd 1.006 | ||||
---|---|---|---|---|
| ||||
Tested in dmd 1.006 on Linux, the two toString definitions conflicts when they are in main, not when they are out of the main function. import std.stdio; int main(char[][] args) { enum Foo { A , B }; enum Foo2 { C , D }; char[] toString(Foo x) { return "1"; } char[] toString(Foo2 x) { return "2"; } Foo s = Foo.A; writefln("s is %s, with name %s\n", s, toString(s)); Foo2 o = Foo2.C; writefln("o is %s, with name %s\n", o, toString(o)); return 0; } regards, renoX |
February 27, 2007 Re: Overloading issue with enum in dmd 1.006 | ||||
---|---|---|---|---|
| ||||
Posted in reply to renoX Attachments: | renoX schrieb am 2007-02-20: > Tested in dmd 1.006 on Linux, the two toString definitions conflicts when they are in main, not when they are out of the main function. > > import std.stdio; > int main(char[][] args) > { > enum Foo { A , B }; > enum Foo2 { C , D }; > > char[] toString(Foo x) > { > return "1"; > } > char[] toString(Foo2 x) > { > return "2"; > } <snip> http://www.digitalmars.com/d/function.html > Unlike module level declarations, declarations within function scope are processed in order. Thus no overloading for nested functions. Thomas |
March 03, 2007 Re: Overloading issue with enum in dmd 1.006 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Thomas Kuehne | Thomas Kuehne a écrit : > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > renoX schrieb am 2007-02-20: >> Tested in dmd 1.006 on Linux, the two toString definitions conflicts when they are in main, not when they are out of the main function. >> >> import std.stdio; >> int main(char[][] args) >> { >> enum Foo { A , B }; >> enum Foo2 { C , D }; >> >> char[] toString(Foo x) >> { >> return "1"; >> } >> char[] toString(Foo2 x) >> { >> return "2"; >> } > > <snip> > > http://www.digitalmars.com/d/function.html >> Unlike module level declarations, declarations within function scope are >> processed in order. > > Thus no overloading for nested functions. > > Thomas OK, thanks for your answer, this way I'll avoid opening a bogus fault report. renoX > > > -----BEGIN PGP SIGNATURE----- > > iD8DBQFF5JQELK5blCcjpWoRAuAYAKCe657u4RV2QFzRiGnEle01XRlkAwCfWStE > 4vwsRjflR46EqJ1j18VhDwI= > =TkIY > -----END PGP SIGNATURE----- |
Copyright © 1999-2021 by the D Language Foundation