std::enable_if beim Konstruktor?
Verfasst: 5. Juni 2016 11:32
Moin,
ich habe eine Frage zu folgendem Code-Beispiel:
Der Typ T darf hier entweder ein Pointer oder aber ein Typ mit Standardkonstruktor sein... genauer:
Handelt es sich bei T nun um einen Pointer, handel ich mir hier aber einen nicht initialisierten Pointer ein.
Dieses Problem kann sicherlich mit Hilfe von SFINAE gelöst werden. Leider bekomme es gerade für den Konstruktor aber nicht hin.
Hat jemand einen Tipp für mich?
ich habe eine Frage zu folgendem Code-Beispiel:
Code: Alles auswählen
template<class T>
class Foo : public Base
{
public:
explicit Foo(QObject *parent = nullptr)
: Base(parent)
{
}
private:
T m_data;
};Code: Alles auswählen
std::is_default_constructible<T>::value || std::is_pointer<T>::valueDieses Problem kann sicherlich mit Hilfe von SFINAE gelöst werden. Leider bekomme es gerade für den Konstruktor aber nicht hin.
Hat jemand einen Tipp für mich?