From: Peter Dimov (pdimov_at_[hidden])
Date: 2003-02-17 08:11:05


From: "David Abrahams" <dave_at_[hidden]>
> "Peter Dimov" <pdimov_at_[hidden]> writes:
>
> > I don't see why you expect remove_pointer(T) to work when T is not a
> > pointer.
>
> I think that's a reasonable expectation, if by "work" you mean return
> the original type without modification. That's what it does for "int"
> arguments, for example.

I would argue that remove_pointer should cause a compile-time error when
applied to a non-pointer. *p doesn't just "conveniently" return p when
applied to a non-pointer.

Either way though, it should be consistent, i.e. if it works for int, it
should work for everything.