極楽とんぼのロボット製作記

情報工学系大学院生がロボットとその周辺技術や身の回りの出来事について紹介するブログ

型の暗黙的変換に警告を出そう!gcc -Wconversion

double x = 0.30;
double y = 0.50;

int obj_x;
int obj_y;

obj_x = x;
obj_y = y;

(obj_xとobj_yに入る値は0)
と書いてしまっていることに気づかず、1時間無駄にしてしまった。こ、こんな基本的なことで...。もう2度とこんなことはしたくない!コンパイラに指摘してもらおう。


gccでの方法

コンパイル時にオプション -Wconversion をつける

cmakeでの方法

CMakeLists.txtに

set(CMAKE_CXX_FLAGS "-Wconversion")

を加える

参考
CMakeLists.txtの読み方
CMake 簡易まとめ - Qiita

gccの警告オプション
gcc の -Wall 以外の警告オプション - Higepon’s blog

処理系によっては有効にならない場合もあるようです
-Wconversion は,いかがでしょう? - もなもなもなかのページ