配列の初期化中に #define を使用する
#include <stdio.h>
#define TEST 1;
int main(int argc, const char *argv[])
{
int array[] = { TEST };
printf("%d\n", array[0]);
return 0;
}
コンパイラは不平を言います:
test.c: In function ‘main’:
test.c:7: error: expected ‘}’ before ‘;’ token
make: *** [test] Error 1
関数入力引数として #define を使用する
#include <stdio.h>
#define TEST 1;
void print_arg(int arg)
{
printf("%d", arg);
}
int main(int argc, const char *argv[])
{
print_arg(TEST);
return 0;
}
コンパイラは不平を言います:
test.c: In function ‘main’:
test.c:12: error: expected ‘)’ before ‘;’ token
make: *** [test] Error 1
この 2 つの問題をどのように解決しますか? Cは単にソース ファイルを検索して置換TEST
し1
、.