Как известно, прототипы функций необязательны. Их можно не писать, если тело вызываемой функции в файле расположено до ее вызова. Вот почему мои матрицы работали - это чистая случайность, что у меня так расположено.
В Borland C++ достаточно внутри класса написать
friend CMatrix operator+ (CMatrix,CMatrix);. В связи с изменениями в шаблонах, нужно после + дописать еще и <t>. Но прототипом функции это не является! Это только указывает на то, что если есть такая функция, то ей можно лазить по private членам. Поэтому нужно дополнительно написать
template <class t> CMatrix<t> operator+ (CMatrix<t>,CMatrix<t>);Это прототип.
Изменено: iMichael, 14 Сентябрь 2010 - 15:02