1. ホーム
  2. Qt

linuxのCコンパイルで、整数からキャストをせずにポインタを作る代入が行われる理由

2022-02-10 11:52:55
<パス

Raspberry Piでコンパイルすると、このような警告が表示されます。

画像が少し小さいので、警告を取り出しました

mainPro.c: In function 'main':
mainPro.c:42:16: warning: implicit declaration of function 'addlivingRoomLightToDeviceLink' [-Wimplicit-function- declaration]
  pdeviceHead = addlivingRoomLightToDeviceLink(pdeviceHead);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mainPro.c:42:14: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
  pdeviceHead = addlivingRoomLightToDeviceLink(pdeviceHead);


この警告の理由は、要約すると2つあります。
1, 関数のヘッダーファイルがメイン関数に含まれていない
2, メイン関数で呼び出される際に、ヘッダーファイルで関数が宣言されていない。



関数を宣言していなかったので警告が出たのですが、関数を宣言することで正常にコンパイルされました。