kann mir jemand sagen, wie man dieses Problem in C++ löst?C++ sfinae Designmuster
Fehler
keine Übereinstimmung für 'Betreiber < <' (Operandentypen sind 'QList' und 'Form1 *') * this-> Liste < < form1;
myobj.h
#ifndef MYOBJ_H
#define MYOBJ_H
#include <QList>
#include "form.h"
#include "form1.h"
template <typename T>
class MyObj
{
public:
MyObj(QList<T*>* list)
{
this->list = list;
if (std::is_same<T,Form>::value) {
form = new Form;
*this->list << form;
}
if (std::is_same<T,Form1>::value) {
form1 = new Form1;
*this->list << form1;
}
}
QList<T*>* list = NULL;
Form* form = NULL;
Form1* form1 = NULL;
};
#endif // MYOBJ_H
mainwindow.cpp
myObj = new MyObj<Form>(new QList<Form*>);
danke für die Hilfe bei
I bearbeitet
Dies sieht aus wie Sie kommen aus einem Java oder C# Hintergrund. Sie müssen nicht überall in C++ neue verwenden. Was möchten Sie mit dem Operator '<<' tun? –
Was wollen Sie eigentlich mit '* this-> list << form erreichen?'? –
sry wie gepostet 1 min nach dem Einreichen der Frage, habe ich eine Bearbeitung des Codes – Invader