__>В строке __>q.set(1.0, 1.0, 1.0);
__>
цыфры являются константами, посему если принимать их по ссылке то по константной, метод set нада подкорректировать:
Да, ступил.
__>__>// Или так
__> set( T const & X, T const & Y, const & Z) {array[1] = X; array[2] = Y; array[3] = Z;}
__>// Или так
__> set( T X, T Y, Z) {array[1] = X; array[2] = Y; array[3] = Z;}
__>
__>А по 2-у пункту:
__>Операторы operator* и operator+ то ты определил, а operator*= и operator+= кто будет определять?
Они есть, просто не стал выкладывать, но если надо:
T & operator [ ] (int i) {return array[i];}
AVector3D<T> & operator*= (T &val) {array[0] *= val; array[1] *= val; array[2] *= val; return *this;}
AVector3D<T> & operator+= (Vector3D<T> &v) {array[0] += v[0]; array[1] += v[1]; array[2] += v[2]; return *this;}