いくつかの演算子が特定の型に対して定義されているかどうかをチェックし、式の戻り値の型もチェックするいくつかのテンプレートがあります。特定の型でこのテンプレートをインスタンス化すると、すべてが正常ですが、一部の型ではMSVCで内部コンパイラエラーが発生します。 GCCでは、 "テンプレート引数が無効です"というエラーが表示されます。ポストインクリメントチェックをインスタンス化するときに問題を引き起こす行は次のとおりです。C++ネストされたテンプレートのエラー
template <typename _Type, typename _ReturnType>
static auto test(_Type&& var, _ReturnType&&)
-> decltype(std::enable_if_t<std::is_same<_ReturnType, decltype((var) OPERATOR)>>(), std::true_type());
このコードに問題はありますか?
注:OPERATORはオペレータにマクロが展開されています。確認したいです。テンプレート全体は、コードの繰り返しを避けるために使用するより大きなマクロの一部です。
[最小限の完全で検証可能な例](http://stackoverflow.com/help/mcve)を投稿してください。 –