C言語を,Cpad for Borland C++Compilerでコンパイルすると警告が出ます。
解決したいこと
C言語を,Cpad for Borland C++Compilerでコンパイルすると警告が出ます。警告を無くす方法を教えてください。
例)
本の問題をC言語で書き、bcpadでコンパイルしましたが、謎の警告が出てしまいました。
発生している問題・エラー
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
13.c:
警告 W8057 13.c 40: パラメータ 'argc' は一度も使用されない(関数 main )
警告 W8057 13.c 40: パラメータ 'argv' は一度も使用されない(関数 main )
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Fatal: Error detected (LME2059)
Fatal: Error detected (LME1648)
Fatal: Error detected (LME1663)
Fatal:
該当するソースコード
#include <stdio.h>
#define W 4
#define H 6
char memo[1 << (W * H)] = {0};
int queue[1 << (W * H)] = {0x000fff, 0xfff000, 0xcccccc, 0x333333};
int mask[W * (H - 1) + (W - 1) * H];
int i, j, mask_count, start, end, temp, depth;
int main(int argc, char *argv){
depth = 1;
for (i = 0; i < 4; i++){
memo[queue[i]] = depth;
}
mask_count = 0;
for (i = 0; i < W * H; i++){
if (i % W < W - 1) mask[mask_count++] = (1 << 1 | 1) << i;
if (i < W * (H - 1)) mask[mask_count++] = (1 << W | 1) << i;
}
start = 0;
end = temp = 4;
while (end - start > 0){
printf("%d %d\n", depth - 1, end - start);
depth++;
for (i = start; i < end; i++){
for (j = 0; j < mask_count; j++){
if (((queue[i] & mask[j]) != 0) &&
((queue[i] & mask[j]) != mask[j]) &&
(memo[queue[i] ^ mask[j]] == 0)){
memo[queue[i] ^ mask[j]] = depth;
queue[temp++] = queue[i] ^ mask[j];
}
}
}
start = end;
end = temp;
}
return 0;
}
自分で試したこと
本の出版社に問い合わせたところ、出版社のコンパイラでは実行できるようでした。
0