Fehlermelung:C: Ungültig, da der rechte Operand vom Typ 'struct Image *' ist



  • Diese Meldung bekomme ich und ich weiss es nicht woran es liegen kann:

    Die Funktion ist:

    void chain_8(struct Image *In,int x,int y,char *code,int *length,unsigned char thresh)
    {
    	*length=1;
    
    	for(;;)
    	{
    Hier zeigt den Fehler-->>	idx(x,y)=0;
    
    	Hier auch-->>    if(idx(x+1,y) >thresh)
    		{
    			*(code++)=0;
    			++x;
    			++(*length);
    			continue;
    		}
    }
    

    wodei idx als Makro definiert ist:

    #define idx(m,n)  *(In-Data+(m) +((n)+In->Cols))
    

    und

    struct Image
    {
    	 //# of Rows in Image  = dx
    	int Rows;
    	// # of columns in image =dy
    	int Cols;
    	// Pointer to image data
    	unsigned char *Data;
    	//type of image
    	unsigned char Type;
    };
    

    ich habe es versucht mit casten :idx(x,y)=(int*)thresh;
    aber es hat nicht funktioniert!
    Kann mir jemand helfen?
    Danke
    Kilomat

    Edit by AJ: CPP-Tags eingefügt.



  • In-Data sollte wohl In->Data heißen bei deinem define, oder?? 😉



  • ich danke dir,ich war so b.... dass ich es nicht gesehen habe!!!
    Super!Trotzdem
    Danke


Anmelden zum Antworten