我有具有下面的代碼一個C linux的功能:ÇLinux的警告:賦值時將指針整數,未作鑄造
void A (char *s1, char *s2)
{
...
*s2 = NULL;
...
}
在此函數中,我把值代入S2
,並在結束放NULL。
代碼:
*s2 = NULL
生成以下警告: 賦值時將指針整數,未作鑄
我想解決我的代碼,我該怎麼辦呢?
感謝
我有具有下面的代碼一個C linux的功能:ÇLinux的警告:賦值時將指針整數,未作鑄造
void A (char *s1, char *s2)
{
...
*s2 = NULL;
...
}
在此函數中,我把值代入S2
,並在結束放NULL。
代碼:
*s2 = NULL
生成以下警告: 賦值時將指針整數,未作鑄
我想解決我的代碼,我該怎麼辦呢?
感謝
您的系統似乎有NULL
定義爲像(void *)0
。這意味着你的任務正在做的只是警告說 - 從一個指針沒有演員一個整數。你不想把NULL
成char
變量反正 - 你可能正在尋找:
*s2 = '\0';
你是混淆了兩個相似條款:
無論你做什麼,**不要添加演員**!如果沒有提到演員,警告信息會更好。 – pmg