赋值在没有强制转换的情况下从指针生成整数[-Werror]

han*_*nah 3 c int

// set all values in the hash table to null
for(int i = 0; i < HASH_SIZE; i++)
{
    hashtable[i] = NULL;
}
Run Code Online (Sandbox Code Playgroud)

我一直收到此错误消息以响应hashtable [i]:

赋值在没有强制转换的情况下从指针生成整数[-Werror]

为什么?

Mus*_*usa 7

如果hashtable是一个整数数组,则hashtable[i]需要一个整数并且NULL是一个指针.

因此,您尝试将指针值分配给整数变量(没有强制转换),这通常只是一个警告,但由于您-Werror所有警告都会变成错误.

只需使用0而不是NULL.