さまざまな種類の数値配列を処理するいくつかのメソッドを実装する必要があります。通常、その仕事にはジェネリックを使用しますが、C にはジェネリックが用意されていないため、マクロを使用してそれらをエミュレートしようとしています。
これが私がやろうとしていることの例です:
#ifndef TYPE
#define TYPE int
#endif
TYPE get_minimum_##TYPE (TYPE * nums, int len){
TYPE min = nums[0];
for (int i = 1; i < len; i++) {
if (nums[i] < min) {
min = nums[i];
}
}
return min;
}
ただし、これはコンパイルされません。クランエラーメッセージ:
エラー: 予想される ';' トップレベル宣言子の後
Cでこれを行う方法はありますか?または、すべてのタイプに対してこれを手動で実装する必要がありますか?