was ist daran nur falsch?



  • class convert
    {
    	private:
            char* string;
    
            long table_length;
            char** extra;       /* [zeichen][nummer im original] */
            char** letters;
            char** numbers;
    
    	public:	
            convert(char* string);
            ~convert();
    
            void convert_str(char* string);
            char* get_conv_str();
    };
    
    inline convert::convert(char* str) : string(str) 
    {
    	while( *str++ != '\0' ) table_length++; //achtung '\0' nicht vergessen
    
    	extra = new char*[table_length];
    	for( int i = 0 ; table_length >= i; i++ ) extra = new char[2];
    
    	letters = new char*[table_length];
    	for( int i = 0 ; table_length >= i; i++ ) letters = new char[2];
    
    	numbers = new char*[table_length];
    	for( int i = 0 ; table_length >= i; i++ ) numbers = new char[2];
    }
    
    error C2440: '=' : cannot convert from 'char *' to 'char **'
            Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
    


  • extra = new char[2] geht so nicht
    obendrüber hast du doch schon extra = new char*[tablelength]
    wieso willst du den zeiger dann erstezen?
    ich denk ma es muss heißen extra[i] = new char[2]


Anmelden zum Antworten