Есть шаблон, выписывать несколько вариантов его не охота.
Если TYPE=double или TYPE=complex, то это работает, а для TYPE=int будет ошибка.
Можно ли указать компилятору какой тип использовать?
template<class TYPE, unsigned int N>
Vector<TYPE, N> operator*(const Vector<TYPE, N> x, const double a)
{
Vector<TYPE, N> r;
for (unsigned int i = 0; i < N; i++)
r.x[i] = x.x[i] * a;
return r;
}