Selon le C++ ISO spec, §26.2/2:
L'effet de l'instanciation du modèle
complex
pour tout type autre quefloat
,double
oulong double
n'est pas spécifié.
Pourquoi le standard auteurs explicitement ajouter cette restriction? De ce fait, il indéterminée, par exemple, ce qui se passe si vous faites complex<int>
ou complex<MyCustomFixedPointType>
et semble comme une restriction artificielle.
Quelle est la raison de cette limitation? Est-il une solution de contournement si vous souhaitez instancier complex
avec votre propre type?
Je suis principalement en posant cette question à cause de cette question précédente, dans lequel l'OP était confus quant à pourquoi abs
a été de donner bizarre sorties pour complex<int>
. Cela dit, ce n'est toujours pas tout à fait logique étant donné que nous aussi nous voulons faire de complex
nombre fixe de points de types, de haute précision des nombres réels, etc.