Templates with the same name as methods not legal?
Simen Haugen
simen at norstat.no
Thu Apr 19 03:36:12 PDT 2007
If I try to call a template when a method with the same name exists I get a
compiler error:
template isInteger(T)
{
static if (is(T == int))
const bool isInteger = true;
else
const bool isInteger = false;
}
class Test
{
bool isInteger()
{
return isInteger!(int); // Yields an compiler error
}
}
Gives me the error:
test.d(15): template instance isInteger is not a template declaration, it is
a function
To me it seems this should be legal as my method doesn't take any template
parameters and the compiler should understand that the template should be
called.. There must be something I don't understand here...
More information about the Digitalmars-d-learn
mailing list