Constructor template -- bug?
Bekenn
leaveme at alone.com
Tue Mar 1 22:18:49 PST 2011
Code:
class MyException : Exception
{
this(string message, string file, size_t line, Throwable next = null)
{
super(message, file, line, next);
}
this(string file = __FILE__, size_t line = __LINE__)(string message,
Throwable next = null)
{
this(message, file, line, next);
}
}
void main()
{
throw new MyException("Bluh!");
}
Error message:
test.d(8): Error: template test.MyException.__ctor(string file =
__FILE__,size_t line = __LINE__) conflicts with constructor
test.MyException.this at test.d(3)
If I remove the normal constructor and call super instead of this from
the constructor template, then I get this slightly different error message:
test.d(1): Error: constructor test.MyException.this conflicts with
template test.MyException.__ctor(string file = __FILE__,uint line =
__LINE__) at test.d(3)
Is this a compiler bug, or am I Doing It Wrong?
More information about the Digitalmars-d-learn
mailing list