zを複素数としてz+1は数学の教科書は普通にある。ところが、C++のプログラムで
z1=z+1としようものならテンプレート関係のエラーメッセージがズラっと出てくる。
初心者は戸惑う。いい加減、complex.hに

template <class T, class U>
decltype(auto) operator + (const std::complex<T>& z, U d)
{
return std::complex< decltype(std::declval<T>() + std::declval<U>())>
(real(z) + d, imag(z));
}
みたいなものを追加してくれないか?