static vs non-static

Maxim Fomin maxim at maxim-fomin.ru
Sun Jan 13 08:18:35 PST 2013


On Sunday, 13 January 2013 at 15:58:56 UTC, Zhenya wrote:
> Hi!
> Sorry,if it already was discussed,but
>
> import std.stdio;
>
> struct Foo
> {
> 	static void bar()
> 	{
> 		writeln("static");
> 	}
> 	void bar()
> 	{
> 		writeln("non-static");
> 	}
> }
>
> int main()
> {
>     Foo gun;
>     gun.bar();//fails here
> }
>
> Is it all right,that compiler dosn't prefer non-static function 
> in ths case?

Main should be void in this case.

Yes, it is a problem - dmd allows to call static functions on 
instance. When both match, it issues ambiguity error.


More information about the Digitalmars-d-learn mailing list