wie war das noch mal bei C++ (for)



  • .
    .
    .
    .
    	////////////////////////////////////////////////
    	//antigrafoume os Start2 dhladh etsi kapos
    	//
    	//		AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    	//     /|\      /|\
    	//      i      Start2
    	//
    	////////////////////////////////////////////////
    	for(register unsigned long int i=0; i != Start2; ++i)77hier fehler
    	{
    		*(Final+i) = this->GetOneString(i);
    	}
    
    	////////////////////////////////////////////////
    	//tora antigrafoume bazoume mesa thn deuterh simboloseira
    	//
    	//
    	//      CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
    	//
    	//		AAAAAAAAAACCCCCCCCCCCCCCC
    	//                /|\            /|\
    	//               Start2          END1 h < this->Getsiz
    	///////////////////////////////////////////////////////////
    	for(register unsigned long int i=Start2, register unsigned long int j=0; (i != End1) && (i<this->GetSize());++i,j++)//hier fehler
    	{
    		*(Final+i) = *(TempStr+j);		//*(Temp++)
    	}
    .
    .
    .
    .
    

    bei jeter for schleife bekomme ich ein fehler und zwar

    error C2374: 'i' : redefinition; multiple initialization
    see declaration of 'i'

    warning C4518: 'unsigned register long ' : storage-class or type specifier(s) unexpected here; ignored

    warning C4228: nonstandard extension used : qualifiers after comma in declarator list are ignored

    Und noch ein fehler

    inline void gen_string::ReverseStr(char *In) const
    {
    	//dhlosh Metablhton
    //
    
    		//Kurio Programma
    
    	//an exoume la8os isodos dedomenon
    	if(*In == NULL)
    	{
    		cout << "!!!Fatal Error!!! __FILE__ 000 000. To programma termatizh. La8os isodo dedomenon." << endl;
    		abort();
    	}
    
    	//Reverse me mia mono boh8itikh metablhth
    	for(register unsigned int i=0,register  unsigned int j = this->GiveMeSize(In)-1; i < j; i++, j--)//hier fehler
    	{
    		register char c = In[i];
    		In[i] = In[j];
    		In[j] = c;
    	}
    }
    

    Ich bekomme hier den fehler OP C.1\dna_string.cpp(961) : warning C4228: nonstandard extension used : qualifiers after comma in declarator list are ignored

    ich hab mir gedacht da das eine for schleife ist benutze ich register tue ich oft weill vileicht nimmt es der compiler an aber wiso bekomme ich hier ein fehler
    ich dachte in C++ kann mas das doch so machen wiso geht das nicht kann mir einer helfen.



  • Ich dachte bei C++ kann ich in einer for schleife die gleiche wariablen benutzen weil so etwas bassiert

    int i;
    {
    int i;
    }



  • VC6?



  • register unsigned long int i=0;
    plazier die variablen am anfang der funktion
    andernfalls funktionierts entweder nur in vc6 oder nur in gcc

    btw. wenn du für den pc arbeitest brauchst du nur "unsigned long i=0;"
    zu schreiben
    der rest is eigentlich überflüssig

    register unsigned int i=0,register unsigned int j = this->GiveMeSize(In)-1;
    versuchs mal so
    register unsigned int i=0,j = this->GiveMeSize(In)-1;



  • Master User schrieb:

    Ich dachte bei C++ kann ich in einer for schleife die gleiche wariablen benutzen weil so etwas bassiert

    int i;
    {
    int i;
    }

    Siehe dazu auch hier


Anmelden zum Antworten