改善策と共にご教示いただけると幸いです。回答ありがとうございます。nt型等は環境のビット数に依存すると聞き、intXXX_t型の使用を考えました。intXXX_t型も少なくともXXXビットの整数を保証しているだけなのですが。そこまで環境によって困ったこともありませんし、基本形の方が良いんですかね...。その点は今一度考えてみます。メンバー関数は、既に定義または宣言されています。メンバー関数は、既に定義または宣言されています。関数テンプレートの特殊化ではありませんと怒られます。specializationとは?メンバー演算子関数テンプレートの明示的特殊化の書き方はこうです。0;}2どうしてクラス同士で衝突が起こり同時にオペレータを定義できないのか。int_fastXXX_tは、それぞれ異なる型であることが保証されていないからです。int_fast16_tとint_fast32_tは、同じ整数型の別名となることがありえます。いう環境だと、両者に対する明示的特殊化を同時に実装した場合、同じ型に対する複数の明示的特殊化を実装してしまうことになるので、重複が生じてエラーになるのです。int}と型が異なっているのは何故か。そもそもcstdintで以下のように3つとも同じように定義されているのに「_fastタイプが各プラットフォームがハードウェアに「便利」なタイプを指定できるタイプエイリアス」となるのはどうしてか。int_fastXXX_tは、各処理系ごとに、最低限XXXbitの大きさは備えた整数型で、最も高速に扱える型の別名として定義されます。int型が32bitの大きさを持ち、かつ処理系で最も高速な符号付き整数型となっているとしたら、int_fast8_t、int_fast16_t、int_fast32_tはすべてintの別名になるでしょう。int_fastXXX_tは処理系ごとに定義されるものです。intの別名として定義される可能性があるわけです。↑1年前メンバー演算子関数テンプレートの明示的特殊化の書き方はこうです。そんなこと言われても、そのプログラムは、質問者がちゃんと情報を提供している次のコンパイラで、エラーになります。エラーにならいないからと言って、それが正しいとは限りません。↑1年前メンバー演算子関数テンプレートの明示的特殊化の書き方はこうです。そんなこと言われても、そのプログラムは、質問者がちゃんと情報を提供している次のコンパイラで、エラーになります。エラーにならいないからと言って、それが正しいとは限りません。申し訳ありませんでした。c++とclangでは通りますが、これは規格外の独自拡張のようですね)。正しくは、このように定義することになります。ミクプラは自由にリンクできます。