特定の配列からビット ベクトル セットを作成しようとしています。それを開始する方法がわからない。たとえば、配列が与えられた場合:int rows[] = {1, 2, 5}
関数を作成する必要がありunsigned short MakeBitVector(int values[], int nValues)
ます。配列内の要素の範囲は 1 ~ 9 であると想定できます。これが私がこれまでに持っているものです:
unsigned short MakeBitVector(int values[], int nValues)
{
(55)unsigned short int set = calloc(nValues, sizeof(unsigned short));
for(int i = 0; i < nValues; i++){
(57)set[i] = values[i];
}
return set;
}
警告とエラーが表示され続けます:
bits.c:55: 警告: 初期化により、キャストなしでポインタから整数が作成されます
bits.c:57: エラー: 添字付きの値は配列でもポインタでもありません
これを修正する方法についてのアイデアはありますか?