004
10.07.2006, 21:12 Uhr
mase
|
Mein voriges Problem besteht leider immernoch: Meine Klasse Project erzeugt eine verkettete Liste aus der Klasse ProjectList.
C++: |
using namespace std;
enum Gap {NONE,FADE,CROSSFADE}; enum Action {ADD,DEL,MOVE,LOAD_PROJECT,SAVE_PROJECT,OVERWRITE_PROJECT,DEL_PROJECT,CLOSE_PROJECT}; enum Status {OK,LOAD_ERROR,SAVE_ERROR,FILE_EXISTS};
class Project { public: Project(string _FileName):FileName(_FileName) { ProjectList* MusicList=new ProjectList; } ~Project() { delete MusicList; } //Give reference to Error to get an errorcode of the action, give reference to MusicQuant with value 0 to get number of musicfiles in project ProjectList *editMusic(Action _Action,Status& Error,unsigned int& MusicQuant,string _MusicFile,string _MusicInpoint,string _MusicOutpoint,Gap _MusicGap,unsigned int _Pos,unsigned int _NewPos);
private: Project() {} string FileName; unsigned int Pos; string MusicFile; string MusicInpoint; string MusicOutpoint; Gap MusicGap; string Data1,Data2,Data3,Data4; ProjectList* MusicList; ProjectList* tempMusicList; };
|
So bekomm ich aber die Warnung Variable »MusicList« wird nicht verwendet. Das ist wahrscheinlich die Ursache für den restlichen Fehlerschwall. MusicList wird doch im allgemeinen Konstruktor erzeugt. Dann müsste es doch im gesamten Objekt bekannt sein. Den Standardkonstruktor hab ich deshalb privat deklariert, weil das Objekt nur mit übergebenen Parametern erzeugt werden darf. In der Klasse Project will ich einen Zeiger auf MusicList returnen. Ich hab dazu return MusicList; geschrieben. Das Objekt leg ich deshalb dynamisch an, weil es doch eine grössere Datenmenge aufnehmen kann. Die verkettete Liste, die es erzeugt, kann gewaltig werden. Irgendwie hab ich in meinen Büchern und auch im Netz nichts hilfreiches über Zeiger auf Objekte und deren Übergabe gefunden. Meistens werden die Zeiger vor den Klassen besprochen, und dann nicht mehr weiter darauf eingegangen. Vielleicht stell ich mich aber auch blöd an. Aber wie gesagt: Ich bin blutiger Anfänger. Kann mir da jemand auf die Sprünge helfen? -- May the force be with us! |