Всем привет.
У меня небольшая проблема:
имеется класс 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:
...
}
Компилится но не работает.
Как опредилить правильно друга?
Заранее спасибо.