Ich arbeite mit etwas C++/CLI-Code (neue Syntax) und versuche, einen generischen Typ zu deklarieren und eine Mitgliedsvariable auf den Standardwert zu setzen.Was entspricht C++/CLI dem Standard von C# (T)?
In C#:
class Class<T>
{
T member = default(T);
}
Was ist das Äquivalent in CLI?
generic<typename T> public ref class Class
{
public:
Class() : member(default(T)) // <-- no worky
{
}
private:
T member;
};
Sie haben Recht mit T() und etwa 0 ist eine gültige Null-Zeiger-Konstante, aber 'member (0)' ist nicht immer richtig: es erfordert T hat einen ctor, der ein int dauert. –
Klasse
'nullptr' ist das C++/CLI-Äquivalent von C# 'null'. '0' oder 'NULL' ist kein verwalteter Zeigertyp. –