我得到這樣的警告:其關於型鑄造>
鑄造從指針不同大小的整數[-Wpointer到INT鑄] RET =(int)的BUF^MACRO;
如何刪除此警告?
#include<stdio.h>
#include<stdlib.h>
#define MACRO (int)0x12345678U
struct fake{
int data;
};
void main()
{ int ret;
struct fake *buf;
ret=(int)buf^MACRO;
printf("buf::%x\n",&buf);
printf("MACRO::%x\n",MACRO);
printf("ret::%x\n",ret);
}
'無效的主要()'是非法的簽名。那代碼應該做什麼?即使沒有特定的架構,也沒有任何意義。 – Olaf
UB ... UB無處不在... –
幫助我ramove警告其代碼的一部分,我修改了它,不應該得到那個警告,找到一個解決方案幫助很多 – Nisarg