以下のコードで「invalid operands to binary ==」エラーが発生した理由を誰かに説明してもらえますか?
typedef int (*func_t)(int);
#define NO_FUNC ((func_t) 0)
struct {
const char *name;
func_t func;
} table[] = { {"func1", NO_FUNC} };
if (table[0] == NO_FUNC) { // invalid operands to binary ==
}