digitalmars.D.learn - Is it a compiler bug?
- Marcin Kuszczak (17/17) Dec 12 2006 Hello!
- Chris Nicholson-Sauls (12/33) Dec 12 2006 I don't think its a bug, per se, but an effect of attempting to overload...
Hello!
I would like to define two kinds of static opCall() in class like below:
static Any opCall(T)(T t) {
return (new Any()).assign(t);
}
static Any opCall() {
return new Any();
}
It seems for me properly coded (overloading should work as there is quite a
big difference between function taking no parameters and function taking
one parameter), but compiler complains:
..... : function Any.opCall conflicts with Any.opCall(T) at .....
Is it a compiler bug? Or maybe there is some workaround?
--
Regards
Marcin Kuszczak
(Aarti_pl)
Dec 12 2006
Marcin Kuszczak wrote:
Hello!
I would like to define two kinds of static opCall() in class like below:
static Any opCall(T)(T t) {
return (new Any()).assign(t);
}
static Any opCall() {
return new Any();
}
It seems for me properly coded (overloading should work as there is quite a
big difference between function taking no parameters and function taking
one parameter), but compiler complains:
..... : function Any.opCall conflicts with Any.opCall(T) at .....
Is it a compiler bug? Or maybe there is some workaround?
I don't think its a bug, per se, but an effect of attempting to overload a
function
template with an ordinary function. Try providing a dummy specialization of
the template
instead, such as:
-- Chris Nicholson-Sauls
Dec 12 2006








Chris Nicholson-Sauls <ibisbasenji gmail.com>