strange compiler error message regarding template friend class

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, all!

I'm getting strange compiler error message:

> type/value mismatch at argument 2 in template parameter list for ‘template<class T, link<T> T::* mem> struct base’
> expected a constant of type ‘link<T> T::*’, got ‘link<T> T::*’

, where first ‘link<T> T::*’ is identical to second one.

The code is following:

-------------------------------------------

template<class T> class link;
template<class T, link<T> T::*mem> class base;

template<class T> class link
{
	//here I want to declare 'base' to be friend of 'link',
	//not quite sure how to do it, any suggestions?
        friend class base<T, link<T> T::*>; // <-- this line triggers error
};

-------------------------------------------

gcc -v: gcc version 4.0.2 20051125 (Red Hat 4.0.2-8)

Is it compiler's bug (error message makes no sense, anyway...),
or the code must be written differently?

Best regards,
Arturs Zoldners


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux