function could not be resolved c++ -


i trying make more general filter defined typedef pointer function. receive error in dynamicvector* filterbyquantity(int quantity) function. whole code trying do:

controller.h

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

controller.cpp

    #include "controller.h"  int filterbyquantityless(medicine* criteria, medicine* p) {     if (criteria->getquantity() > p->getquantity()) {         return 0;     }     return 1; }  dynamicvector<medicine>* controller::filter2(medicine* criteria, filterfunc f){     dynamicvector<medicine>* medlist = repo->getall();     dynamicvector<medicine>* rez = new dynamicvector<medicine>();     for(int i=0; < medlist->getlen(); i++){         medicine* m = new medicine(medlist->getelementatposition(i));         if(!f(criteria, m)){             rez->addelement(*m);         }     }     return rez; }  dynamicvector<medicine>* filterbyquantity(int quantity){     medicine* criteria = new medicine(1,"",1,quantity);         dynamicvector<medicine>* rez = filter2(criteria, filterbyquantityless); //error      return rez; } 

the error is: multiple markers @ line - 'filter2' not declared in scope - function 'filter2' not resolved

where doing wrong? filter2 function returns dynamicvector don't understand why doesn't work.

because filter2´s declaration , implementation differs.

look @ how you're prototyping on line 2 , how implements it. filter2 should either declared part of controller scope or part of global scope, not both.


Comments

Popular posts from this blog

ios - iPhone/iPad different view orientations in different views , and apple approval process -

java Extracting Zip file -

C# WinForm - loading screen -