Дополнительных перегрузок должно быть достаточно для обеспечения:
1.Если аргумент имеет тип long double, он фактически приводится к типу complex<long double>.
2.В противном случае, если аргумент имеет тип double или целочисленный тип, он эффективно приводится к complex<double>.
3.В противном случае, если аргумент имеет тип float, он фактически приводится к типу complex<float>.
Шаблон функции pow должен иметь дополнительные перегрузки, достаточные для обеспечения вызова хотя бы с одним аргументом типа complex<T>:
1.Если какой-либо из аргументов имеет тип complex<long double> или тип long double, то оба аргумента эффективно приводятся к complex<long double>.
2.В противном случае, если любой из аргументов имеет тип complex<double>, doubleили целочисленный тип, то оба аргумента эффективно приводятся к complex<double>.
3.В противном случае, если у любого из аргументов есть тип complex<float> или float, то оба аргумента эффективно приводятся к complex<float>.