template & friend
От: Аноним  
Дата: 30.01.04 16:13
Оценка:
Всем привет.
У меня небольшая проблема:
имеется класс Foo

template<class T,Int Dim>
struct Foo
: public T
{
public:
...
private:
static inline Void add(Foo<T,Dim>& v1,const Foo<T,Dim>& v2,const Foo<T,Dim>& v3);
...
}


и глобальный оператор
template< class T> inline 
T operator + ( const T& v1, const T& v2 ){T v;v.add(v,v1,v2);return v;}
(Всё это находится в неймспейсе)
Мне надо сделать его другом : я пробывал писать
template<class T,Int Dim>
struct Foo
: public T
{
friend inline Foo<T,Dim> operator + ( const Foo<T,Dim>& v1, const Foo<T,Dim>& v2 );
public:
...
}

Компилится но не работает.
Как опредилить правильно друга?
Заранее спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.