Let this() figure out T implicitly?

kraybourne stdin at kraybourne.com
Fri Feb 17 04:19:28 PST 2012


Hi!

This doesn't work:

	import std.stdio;
	class Foo(T)
	{
		T t;
		this(T val)
		{
			t = val;
		}
	}

	void main()
	{
		auto o = new Foo(5);
	}
	_____

	$ dmd foo
	foo.d(13): Error: class foo.Foo(T) is used as a type
	$ _

So I must

	auto o = new Foo!(int)(5);

Then it compiles. Is it possible to have this() figure out the type some 
way? (In this particular example it's perhaps not such a big deal. But 
imagine a lot more args.)

(Side note: What _does_ that error message mean? I don't get it.)

thanks
/krbrn


More information about the Digitalmars-d-learn mailing list