pointer to function c++ -


guys! trying this:

int (*filterfunc)(medicine* criteria, medicine*); dynamicvector<medicine>* filter2(medicine* criteria, filterfunc f); //error 

but error: 'filterfunc' not type

i trying because want general filter can this:

int filterprice(pet* pet) {     if (pet->price > 10 && pet->price < 100) {         return 0;     }     return 1; }  vectordinamic* filter2(pet* criteria, filterfunc f) {     vectordinamic* v = getall(ctr->repo);     vectordinamic* rez = creazavectordinamic();     int nrelems = getnrelemente(v);     int i;     (i = 0; < nrelems; i++) {         pet* pet = get(v, i);         if (!f(criteria, pet)) {             add(rez, copypet(pet));         }     }     return rez; }  vectordinamic* filterbyprice(float price) {     pet* criteria = createpet(1, "", "", price);     vectordinamic* rez = filter2(ctr, criteria, filterbypricegr);     destroypet(criteria);     return rez; } 

how can solve problem?

you forgot typedef, declare type. otherwise declaration creates variable of type int(*)(medicine*,medicine*).

  typedef int (*filterfunc)(medicine* criteria, medicine*); //^^^^^^^ 

Comments