ich folgende Template-Klasse hat:Mit Template-Klasse mit dem unvollständigen Typ void
template <typename T>
class myClass
{
public:
// Many methods...
protected:
private:
T attribute
// Other attributes.
};
ein Objekt vom Typ myClass<void>
Instanziierungsanwendung nicht funktioniert, weil der void attribute
. Können Sie mir einige Hinweise geben, um Objekte des Typs myClass<void>
zu verwenden, ohne die gesamte Klasse zu spezialisieren. Da es viele Elementfunktionen hat, die auf den Typ T angewiesen sind, führt eine Spezialisierung zu einer Codeverdopplung.
Was wollen Sie Ihre ' Attribut-Typ zu sein? –
Ich verstehe nicht wirklich, was der Sinn dieses ist. Basierend auf dem, was Sie gezeigt haben, wird nur der Schablonentyp verwendet, der das Problem verursacht. –
Ich möchte in der Lage sein, ein Objekt vom Typ 'myClass' instanziieren, aber in diesem Fall würde' Attribut' vom Typ 'void' sein, was nicht möglich ist. –
baboulinet