templated overloaded operator problem.. :~

David Nadlinger see at klickverbot.at
Thu Jun 16 06:05:32 PDT 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;
> }
> }
> =====
>



More information about the Digitalmars-d-learn mailing list