|
Boost : |
From: Valentin Bonnard (Bonnard.V_at_[hidden])
Date: 1999-11-05 11:28:42
Beman Dawes wrote:
> Issue 3: Issue 1 and 2 interact. The proposed resolution for 2
> doesn't fix 1. The proposed solution for 1 also fixes 2 for the
> example given, but silently slices if the template parameter is
> omitted:
>
> Base& rb = implicit_cast(rd); // slices
You can disallow all uses of implicit_cast w/o an explicit
template arg by stoping argument deduction:
template <typename T>
struct the_same {
typedef T me;
};
template <typename T>
T implicit_cast (typename the_same<T>::me x)
{ return x; }
-- Valentin Bonnard
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk