Ich habe versucht folgende Code ausgeführt wird, die auf void_t
Trick verlassen sollte, wo speziellere Klasse Vorlage sollte (in diesem Fall zweiten)C++ SFINAE void_t funktioniert nicht
#include <iostream>
#include <type_traits>
template <class ...>
using void_t = void;
template <class T, class = void>
struct is_incrementable : public std::false_type { };
template <class T>
struct is_incrementable<T, void_t<decltype(++(std::declval<T>()))>> : public std::true_type { };
int main()
{
std::cout << std::boolalpha;
std::cout << is_incrementable<int>::value << std::endl;
return 0;
}
ich MSVC bin mit 2015 gewählt werden Das Ergebnis von is_incrementable<int>::value
ist falsch. Ist irgendetwas mit meinem Code falsch oder gibt es ein Problem mit meinem Compiler?
Ich habe nicht daran gedacht, jetzt funktioniert es, danke. –