Suchergebnisse für Anfrage "sfinae"
Warum beschwert sich enable_if_t in Vorlagenargumenten über Neudefinitionen?
Ich habe den folgenden Fall, der mit @ funktioniestd::enable_if : template<typename T, typename std::enable_if<std::is_same<int, T>::value>::type* = nullptr> void f() { } template<typename T, typename std::enable_if<std::is_same<double, ...
SFINAE hat nicht kompiliert [duplizieren]
Diese Frage hat hier bereits eine Antwort: SFINAE arbeitet im Rückgabetyp, aber nicht als Vorlagenparameter [/questions/15427667/sfinae-working-in-return-type-but-not-as-template-parameter] 3 answersSehr oft habe ich SFINAE verwendet, aber ich ...
void_t schlägt in Visual Studio 2015 fehl
Ich verstehe nicht, warum der folgende Test mit Visual Studio 2015 immer fehlschlägt (die static_assert-Trigger): #include <type_traits> using namespace std; template<class T> using try_assign = decltype(declval<T&>() = declval<T const&>()); ...
Mit `void_t` können Wiederholungsfehler bei mehreren Vererbungstypen erkannt werden.
Ich möchte ein @ implementierhas_no_duplicates<...> Typ Eigenschaft, die zu @ ausgewertet wistd::true_type Wenn die übergebene Liste variabler Typen keine doppelten Typen enthält. static_assert(has_no_duplicates<int, float>{}, ...
“Anti-SFINAE” ermöglicht eine Überladung, wenn ein gegebener Ausdruck * nicht * wohlgeformt ist
Es ist einfach, SFINAE zu verwenden, um eine bestimmte Funktionsüberladung zu verbergen, wenn ein bestimmter Ausdruck nicht richtig geformt ist. Aber ich möchte das Gegenteil tun und eine Überladung genau dann verbergen, wenn ein gegebener ...
SFINAE Um das Vorhandensein einer Nichtmitgliedsfunktion zu erkennen
Kennt jemand eine Methode zum Spezialisieren einer Vorlage, abhängig davon, ob eine Nicht-Member-Methode definiert ist? Ich weiß, dass es zahlreiche Möglichkeiten gibt, sich zu spezialisieren, wenn eine Mitgliedsfunktion vorhanden ist, aber ich ...
Erklären Sie C ++ SFINAE einem Nicht-C ++ - Programmierer.
Was ist SFINAE in C ++? Können Sie es bitte in Worten erklären, die für einen Programmierer verständlich sind, der sich in C ++ nicht auskennt? Welchem Konzept in einer Sprache wie Python entspricht SFINAE?
Verwenden Sie sfinae, um die Existenz von Namespace-Mitgliedern zu testen.
Ich habe versucht herauszufinden, ob es möglich ist, sfinae zum Testen von @ zu verwende Namespace Member Existenz. Google schweigt darüber. Ich habe den folgenden Code ausprobiert, aber er schlägt fehl. namespace xyz{ struct abc{}; } struct ...
SFINAE funktioniert bei Typ- und Nicht-Typ-Vorlagenparametern unterschiedlich.
Warum funktioniert dieser Code: template< typename T, std::enable_if_t<std::is_same<T, int>::value, T>* = nullptr> void Add(T) {} template< typename T, std::enable_if_t<!std::is_same<T, int>::value, T>* = nullptr> void Add(T) {}und kann korrekt ...
SFINAE passiert nicht mit std :: basic_type
Below SFINAE-Code mit verschiedenen Vorlagen lässt sich mit clang 3.7.1, C ++ 14 gut kompilieren: #include <array> #include <iostream> #include <vector> #include <cstdint> enum class Bar : uint8_t { ay, bee, see }; struct S { static void foo() ...