"Paul Mensonides" <[EMAIL PROTECTED]> writes:

[...]

|                                                          However, this
| raises another interesting problem.  Many enumerations used for this purpose
| are unnamed:
| 
| template<class T> struct is_ptr {
|     enum { value = false };
| };
| 
| template<class T> struct is_ptr<T*> {
|     enum { value = true };
| };
| 
| This has its own problem in the same templated "pass by reference"
| situation.  Namely, a template type argument cannot refer to an unnamed
| type:
| 
| template<class T> T func(const T& ref) {
|     return ref;
| }
| 
| int main() {
|     func( is_ptr<int*>::value );
|         // error:  argument deduction yields unnamed type

Probably I'm being dense here, but please could you work out *why* you
think the above should fail?

-- Gaby
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to