template <typename T>
class A
{
}
Хочу перегрузить + так, чтобы можно было сложить A<T> + A<T>. Компилятор ругается:
DataContainer<T>& operator=(const DataContainer<T> & dc); // result = this = dc
template <typename N> friend const DataContainer<N>& operator+ (const N& value, const DataContainer<N>& dc); // result = value + dc
template <typename N> friend const DataContainer<N>& operator+ (DataContainer<N> * dc, T& value); // result = dc + value
/* Здесь */ template <typename N> friend const DataContainer<N>& operator+ (DataContainer<N> * dc1, DataContainer<N> * dc2); // result = dc1 + dc2
D:\Projects\Qt\QtDataContainer\datacontainer.h:88: ошибка: 'const DataContainer<N>& operator+(DataContainer<N>*, DataContainer<N>*)' must have an argument of class or enumerated type
Как решить?