>>215
その場合、template<class T> 〜operator+=(T a)の定義はインスタンス化は行われないのですか?
つまり、コンパイラは、正確に一致する場合(§7.4[禿3rd]の[1])と、それ以外とを識別するので
テンプレートの特殊化を使わなくてもいいということですか?

次のコードはコンパイルが通り、望み通りの動きをします:
complex& operator+=(complex a) { re += a.re; im += a.im; return *this; };
template<class T> complex& operator+=(T a) { re += a; return *this; };