0
如果我給漂浮物而不是雙打,我會收到警告。這就是爲什麼我使用static_casts加倍。 如果我決定不投射,是否有避免編譯器警告的方法?爲什麼這個警告存在?在我的系統(8位處理器)中,我懷疑double的大小與float相同。在printf中使用浮點數而不是double的編譯器警告()
printf("{\"type\":\"pid_cnf\","
"\"pit_rkp\":%.2f,\"pit_rki\":%.2f,\"pit_rimax\":%.2f,"
"\"rol_rkp\":%.2f,\"rol_rki\":%.2f,\"rol_rimax\":%.2f,"
"\"yaw_rkp\":%.2f,\"yaw_rki\":%.2f,\"yaw_rimax\":%.2f,"
"\"pit_skp\":%.2f,\"rol_skp\":%.2f,\"yaw_skp\":%.2f}\n",
static_cast<double>(pit_rkp), static_cast<double>(pit_rki), static_cast<double>(pit_rimax),
static_cast<double>(rol_rkp), static_cast<double>(rol_rki), static_cast<double>(rol_rimax),
static_cast<double>(yaw_rkp), static_cast<double>(yaw_rki), static_cast<double>(yaw_rimax),
static_cast<double>(pit_skp), static_cast<double>(rol_skp), static_cast<double>(yaw_skp));