qsort compare-function



  • hi,

    habe ein problem mit der parameterübergabe bei der compare-fct für qsort. hier der code

    typedef struct 
    {
    	double  kc;
    	double	*ev;
    } t_mode;
    
    int compare_mode (const void * a, const void * b)
    {
      (t_mode *) a;
      (t_mode *) b;
    
      return (int) ((a->kc) - (b->kc)); 
    }
    

    und hier die antwort des compilers
    [code]
    error C2227: left of '->kc' must point to class/struct/union
    [code]

    kappier nicht was ich da falsch gemacht habe, ist doch n struct. mit probieren klappts auch nicht. wäre deswegen für hilfe dankbar



  • Dein cast ändert a und b ja nicht. Du musst das schon neuen lokalen Variablen vom Typ t_mode zuweisen.

    Edit: Und bist du dir sicher, dass du den Rückgabewert so willst? Ist dir klar was der int-cast genau macht?



  • ah verstehe. hat dann auch gleich geklappt.

    danke für die schnelle antwort, gruß quicksort formerly known as nosort ; )


Anmelden zum Antworten