Frage zu typedef
-
Hallo,
kurze Frage :
Kann man typedef in einer Klasse nicht als private machen ?
#pragma once #include "DVD.h" #include <vector> class CDVDArchiv { public: typedef std::vector<CDVD> vDVD; private: int DvdCount; // DVD Zähler vDVD DvdVector; public: // Konstruktor CDVDArchiv(void); void AddDvd(CDVD & dvd) { DvdVector.push_back(dvd); DvdCount++; } CDVD getDVD(int nr) { return(DvdVector[nr]); } int getDvdCount() { return(DvdCount); } size_t getVectorSize() { return(DvdVector.size()); } };So geht es.
Aber so nicht :{ private: typedef std::vector<CDVD> vDVD; // <<<<<<< int DvdCount; // DVD Zähler vDVD DvdVector; public: . .Hab ich da was in meinem schlauen Büchlein überlesen ?
Matthias
-
Hallo
"Geht nicht" ist keine ausreichende Fehlerbeschreibung!
Da du das typedef ja für eine public-Methode verwendest, must du natürlich auch den typedef selber public machen. Wie sollte sonst diese Methode verwendet werden?
bis bald
akari
-
Hallo,
ja da hast Du recht.
Aber ich glaube ich weiß warum:
vDVD DvdVector;
ich glaube das hier meinst du oder ?
Da wird ja sozusagen der typedef public zurückgegeben.Seh ich das richtig ?
Matthias
-
Hallo
ja
bis bald
akari
-
Ok, alles klar
Danke
Matthias