#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int search(int index,int item,void *param);
int TraverseWith(int array[],int length,
int (*callback) (int index,int item,void *param),
void *param){
int exitcode=0;
for(int i=0;i<length;i++){
exitcode=search(i,array[i],param);
if(exitcode)
break;
}
return exitcode;
}
int search(int index,int item,void *param){
if(item>5){
*(int *) param=index;
return 1;
}
else return 0;
}
int main(void){
srand(time(NULL));
int length=10;
int *array=new int[length];
for(int i=0;i<length;i++)
{
array[i]=rand()%7;
cout<<array[i]<<endl;
}
int index;
int found;
if(TraverseWith(array,length,search,&index))
cout<<"found, index="<<index+1<<endl;</p><p><span class="Apple-tab-span" style="white-space:pre"> else
cout<<"not found"<<endl;
}
콜백이 어떤건지 맛보고 있음
쓰기 너무 어려워보이는것..
댓글 0