#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;

}


콜백이 어떤건지 맛보고 있음


쓰기 너무 어려워보이는것..