On 2/17/12 1:51 PM, Kevin Cox wrote:
The error message is saying that you are trying to use Foo as a type but Foo is not a type, it is a template for a type.
Ah, so module.Foo is really not a class, but a template? I think I get it! Thanks!
(Is then module.Foo(int).Foo the actual class type? I think I've seen errors like that pop up...)
On Feb 17, 2012 7:20 AM, "kraybourne" <st...@kraybourne.com <mailto:st...@kraybourne.com>> wrote: 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