digitalmars.D.learn - templated overloaded operator problem.. :~
- Lloyd Dupont (31/31) Jun 16 2011 I have 2 overload of the opCall() in one of my class.
- David Nadlinger (5/34) Jun 16 2011 Add a pair of parentheses to the first overload to add an empty template...
- Lloyd Dupont (6/6) Jun 16 2011 Ho thanks, even better than the work around I just found! :)
I have 2 overload of the opCall() in one of my class.
They cause a compile time error / conflict... any idea on how to solve it?
=====
class MemberDesc
{
Variant opCall(Object target)
{
return getter(target);
}
void opCall(T)(Object target, T value)
{
setter(target, Variant(value));
}
const string name;
const TypeInfo type;
const Variant function(Object target) getter;
const void function(Object target, Variant value) setter;
this(
string name,
TypeInfo type,
Variant function(Object target) getter,
void function(Object target, Variant value) setter = null)
{
this.name = name;
this.type = type;
this.getter = getter;
this.setter = setter;
}
}
=====
Jun 16 2011
Add a pair of parentheses to the first overload to add an empty template
argument list – currently, template and non-template functions can't be
overloaded.
David
On 6/16/11 2:59 PM, Lloyd Dupont wrote:
I have 2 overload of the opCall() in one of my class.
They cause a compile time error / conflict... any idea on how to solve it?
=====
class MemberDesc
{
Variant opCall(Object target)
{
return getter(target);
}
void opCall(T)(Object target, T value)
{
setter(target, Variant(value));
}
const string name;
const TypeInfo type;
const Variant function(Object target) getter;
const void function(Object target, Variant value) setter;
this(
string name, TypeInfo type,
Variant function(Object target) getter, void function(Object target,
Variant value) setter = null)
{
this.name = name;
this.type = type;
this.getter = getter;
this.setter = setter;
}
}
=====
Jun 16 2011
Ho thanks, even better than the work around I just found! :) "David Nadlinger" wrote in message news:itcvbj$1td2$1 digitalmars.com... Add a pair of parentheses to the first overload to add an empty template argument list – currently, template and non-template functions can't be overloaded. David
Jun 16 2011








"Lloyd Dupont" <ld-REMOVE galador.net>