C++相談室 part6
■ このスレッドは過去ログ倉庫に格納されています
0271あう
NGNGusing namespace std;
int max(int temp,int a){ /* 最大値を求めるときに渡す関数 */
return temp<a;
}
int min(int temp,int a){ /* 最小値を求めるときに渡す関数 */
return temp>a;
}
/* 一般的にトップを求める関数 */
int gettop(int* a,int size,int (*p)(int,int)){
int temp, i;
temp = a[0];
for(i=1;i<size;i++){
if((*p)(temp,a[i])) temp = a[i]; /* 共通化した処理 */
}
return temp;
}
int main(){
int data[] = {36,47,19,11,18,25,20,57,39,67,28}; /* 対象データ */
int size = sizeof(data)/sizeof(int); /* 配列サイズを求める */
/* 実際に使ってみる */
cout << "最大値 : " << gettop(data,size,max) << endl;
cout << "最小値 : " << gettop(data,size,min) << endl;
return 0;
}
一番最初の最初のmax関数とmin関数ですが、temp>aとか条件を返して
ますよね?なのになんで返り値の型はなんでintなの?boolじゃないの?
不思議に思ってコンパイルしてみたらちゃん通りましたけど理由がわかりません
どなたか教えて下さいおねがいしまう。
■ このスレッドは過去ログ倉庫に格納されています