mit einer .h-Datei gegeben, die ich habe in letzter Zeit auf einem kleinen Projekt zu arbeiten, und ich konnte nicht herausfinden, etwas ..Wann sollte ich das Stichwort „Typname“ verwenden, wenn Vorlagen
Ich habe enthielt eine Klasse mit einer typenspezifischen Vorlage. In dieser Klasse gab es eine Privatklasse.
template <typename T>
class Something
{
public:
Something();
~Something();
Node* Function1(int index);
int Index(const T& id);
private:
class Node()
{
public:
T id;
//Imagine the rest for the Node
};
};
Das Problem ist aufgetreten, wenn ich die Funktionen der Klasse "Something"
Hier ist, wie ich es tat (in einer .inl Datei)
template<typename T>
Node* Something::Function1(int index) //Is the return type well written?
{
// returns the node at the specified index
}
template<typename T>
int Something::Index(const T& id) //Is the parameter type well specified?
{
// returns the index of the node with the specified id
}
So ist die abhör definieren wollte Teil war im Definitionsteil ... Muss ich dem Compiler mitteilen, dass der Rückgabetyp (in diesem Fall Knoten *) die Typname-Vorlage verwendet (wie diese: typename Node*
)? Und was ist mit dem Parameter? typename const Node&
?
Also im Grunde, wann muss ich angeben, ob die Funktion/der Parameter eine Vorlage verwendet?
Danke für Ihre Zeit.
Bitte sende Sinpets in deine Frage! – mmmmmmmm
Ich habe Links mit Snippets gepostet. Ich konnte nicht herausfinden, wie ich meine Snippets richtig einrücken kann. – Pacane