Bazı operatörlerin belirli türler için tanımlanmış olup olmadığını kontrol eden birkaç şablonum var ve ben de ifade döndürme türünü kontrol ediyorum. Bu şablonu belirli türlerle başlattığımda, her şey tamam, ancak bazı türlerde MSVC'de derleyici hatası alıyorum. GCC'de "şablon argümanı geçersiz" hatası alıyorum. Bu kod ile yanlış bir şeyC++ iç içe şablon hatası
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());
var mı: Ben artırma sonrası kontrolünü örneğini zaman İşte sorun neden hattıdır?
Not: OPERATOR kontrol etmek istediğim operatöre makro genişletilmiş. Tüm şablon, kod tekrarından kaçınmak için kullandığım daha büyük makronun bir parçasıdır.
Lütfen bir [Minimal, Tam ve Doğrulanabilir örnek] (http://stackoverflow.com/help/mcve) gönderin. –