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
Post a Comment