Ich will ein Objekt der Klasse ini_head in der Klasse ini_column verwenden. ini_head wird dabei im Code erst später definiert als die Klasse ini_column. Wie also kann ich ini_head in ini_column verwenden?
Code: Alles auswählen
#ifndef INI_PARSER
#define INI_PARSER
namespace ini
{
    class iniClass
    {
        private:            
            enum ParserState
            {
                NONE,
                HEADER,
                COLUMN,
                ERROR
            };
    
            long int getFilesize(char* filepath);
            
            void println(char* content, int counter);
            void println(char* column, int colcount, char* value, int valcount);
            char* copyString(char* content, int counter);
    
        public: 
            class ini_column
            {
                public:
                    char* name;
                    char* value;
                    ini_column* next;
                    ini_column* prev;
                    iniClass::ini_head* head;
                    
                    ini_column(char* n, char* v);
                    ini_column(char* n, char* v, ini_column* nextElement, ini_column* previous);
            };
            class ini_head
            {
                public:
                    char* head;
                    ini_head* next;
                    ini_head* prev;
                    iniClass::ini_column* column;
                    
                    ini_head(char* name);
                    ini_head(char* name, ini_head* nextElement, ini_head* previous, ini_column* col);
            };
        
            iniClass::ini_head* head;    
            
        iniClass(char* filepath);
        ~iniClass();
        
        bool ColumnExists(char* column);
        char* getValue(char* head, char* column);
        char* parseHead(char* content, int counter);
        void parseColumn(char* column, int columnCounter, char* value, int valueCounter, char* head);
        bool deleteAllHeads();
        bool deleteAllColumns(iniClass::ini_head* hd);
        iniClass::ini_head* getHead(char* head);
        iniClass::ini_head* getLastHead();
        iniClass::ini_column* getLastColumn(iniClass::ini_head* head);
    };
};
#endifMfG Naumsini_parser.h:31:21: error: 'ini_head' in class 'ini::iniClass' does not name a type



 
 