我的C代碼為了實作如下公式的運算有如下兩行陳述句,但不知為什么回傳了這個警告(GCC9.2.0編譯器)。
warning: left-hand operand of comma expression has no effect [-Wunused-value]
這是針對第一行的。

double lAX = sqrt(pow((n*(A.y-camera.y)-m*(A.z-camera.z)),2) + pow((l*(A.z, camera.z)-n*(A.x-camera.x)), 2) + pow((m*(A.x-camera.x)-l*(A.y-camera.y)), 2)); // Only Formula's step I
lAX /= sqrt(pow(l, 2) + pow(m, 2) + pow(n, 2)); // Step II
為什么?
uj5u.com熱心網友回復:
double lAX = sqrt(pow( (n*(A.y-camera.y)-m*(A.z-camera.z) ), 2)+ pow( ( l*(A.z, camera.z)-n*(A.x-camera.x) ), 2)
+ pow( (m*(A.x-camera.x)-l*(A.y-camera.y)), 2)); // Only Formula's step I
這里是 A.z - camera.z 吧
uj5u.com熱心網友回復:
逗號也是合法的運算式, 編譯器給你這樣的提示,夠意思啦
所以不能忽略編譯器的任何警告呢
養成0警告編程的習慣是必要的
uj5u.com熱心網友回復:
warning: left-hand operand of comma expression has no effect [-Wunused-value]這里明確的告訴你了, 逗號運算式
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/130103.html
標籤:C語言
下一篇:求大佬看看!
