|
|
1) #include <stdarg.h> が必要です
2) 必ず第一引数は必要です。使用しなくても指定する必要があります
3) 引数の数は関数より取得できません。なんらかの方法でメソッドに知らせる必要があります
| |
|
|
// *********************************************************
// 可変個の引数内に、内部変数と一致する値があるかどうか
// 最初の引数は、可変個の引数の数を示します
// *********************************************************
int Integer::IsList( int first, ... )
{
va_list marker;
int i,nCnt,ret;
ret = 0;
va_start( marker, first );
nCnt = 0;
while( first > nCnt ) {
i = va_arg( marker, int );
if ( i == this->nData ) {
ret = 1;
break;
}
nCnt++;
}
va_end( marker );
return ret;
}
| |
|
|
Integer a;
a = 20;
if ( a.IsList( 5, 0,1,2,20,1000 ) ) {
printf( "一致\n" );
}
| |
|
|
|