Ich möchte einen Vektor, dessen Elemente vom Typ vector :: size_typeWie deklariere ich einen Vektor von vector :: size_type?
Sie können jedoch nicht erklären:
vector<vector::size_type> aVec;
weil size_type Teil der Vorlage selbst, so dass Sie die Art selbst verwenden , ich brauche so etwas wie:
vector<vector<T>::size_type> aVec;
aber was soll das T sein? Es ist wirklich ein zirkuläres Problem. :)
Wenn Vektor nur size_t als seine Größe Typ benutzt hatte (aber nicht eine besondere typedef für die size_type hatte, die vielleicht von der Art variieren basierend könnte, dass der Vektor hält), konnte ich nur tun:
vector<size_t> aVec;
aber das ist nicht der Fall. Ich vermute, es gibt einen triftigen Grund dafür, dass es variieren darf, aber es macht dies schwierig, indem es Teil der Vektorklasse ist, statt außerhalb davon.
Gedanken?
Ich sehe keine echte Anwendung von diesem. Ihr Vektortyp wird durch das definiert, was in ihm gespeichert ist. Sie möchten die Größen des Vektors speichern? Welcher Art? – SergeyA
Was wollen Sie eigentlich erreichen? – NathanOliver
Wenn Sie etwas wie das Speichern von Indizes in einem anderen Vektor tun, tun Sie othervector :: size_type. Wenn Sie nicht den Schablonentyp für Vektor haben, macht es keinen Sinn, zu versuchen, 'size_type' dafür zu bekommen. Verwenden Sie 'size_t' – David