私はC言語を学んでおり、次の短いプログラムを作成しました。それは配列をたどり、配列の各要素をランダムな値に割り当ててからそれらを出力することになっています。唯一の問題は、次のようなコンパイラエラーがあります。Cコンパイラがエラーをスローしました:オブジェクト 'random'が関数または関数ポインタではありません
called object ‘random’ is not a function or function pointer
この理由は何ですか?私のコードは以下の通りです:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int arr[5];
int i;
int random;
for (i = 0; i < sizeof(arr)/sizeof(arr[0]); i++)
{
random = rand();
arr[i] = random();
}
for (i = 0; i < sizeof(arr)/sizeof(arr[0]); i++)
{
printf("%d", arr[i]);
}
}
'int型ランダム、あなたがしようとしている意味stdlib''で ';'影関数 'long int型ランダム(無効)関数または関数ポインタではない整数を呼び出します。 clangやgccの '-Wshadow'でコンパイルして、これについてコンパイラが警告します。 'random()'を使うのかどうかは不明です。 –
コンパイラの警告を有効にします。現代のコンパイラは、適切に有効になっていると警告します。 – Olaf