Это пример кода, который я публикую ниже.Я получаю предупреждение при компиляции этой программы, как показано ниже:
samp2.c: In function `main':
samp2.c:37: warning: passing arg 1 of `my_func' from incompatible pointer type
Код показан ниже:
typedef enum TES_status_e
{
TES_stat_unknown,
TES_stat_ok,
TES_stat_too_high,
TES_stat_too_low,
TES_stat_short_GND,
TES_stat_connected,
TES_stat_not_connected
} TES_status_t;
typedef enum DIAG_status_e
{
DIAG_stat_unknown,
DIAG_stat_ok,
DIAG_stat_too_high = 10,
DIAG_stat_too_low,
DIAG_stat_short_GND,
DIAG_stat_connected,
DIAG_stat_not_connected
} DIAG_status_t;
typedef int (*MyPtr)(TES_status_t);
int my_func(MyPtr);
int test(DIAG_status_t);
main()
{
my_func(&test);
}
int my_func(MyPtr Val)
{
Val(DIAG_stat_too_high);
}
int test(DIAG_status_t c)
{
printf("The val of c is %d\n",c);
}
Это предупреждение показано ниже
samp2.c: In function `main':
samp2.c:37: warning: passing arg 1 of `my_func' from incompatible pointer type
Пожалуйста, дайте мне знать, как удалить это предупреждение.