2013-05-03 39 views
0

我有一個問題,我不知道爲什麼。我需要添加到float3值。OpenCV:運算符「+」錯誤;此外

float3 a3 = cross(v1v2,intersection.pIntersect); 
a3.normalize(); 
float3 lambda1 = a3/(a1+a2+a3); 

error: no match for ‘operator/’ in ‘a3/math::operator+((* & math::operator+(((const math::vector)(& a3)))’

因此,它不可能+操作FLOAT3值。對於lambda,我有錯誤的類型嗎?或者我想念一個操作?或者是normilize()方法改變了typ?

THX任何幫助:)

+1

你想做什麼?用另一個矢量劃分一個矢量並不會帶來很大的意義 – TomD 2013-05-03 21:24:03

回答

1

我覺得你的問題是不是與運營商+運營商/

我現在不能檢查代碼,但似乎不能分割兩個向量。

編輯1

看來,編譯器的FLOAT3轉化爲數學::向量操作+。轉換後,它找不到運算符/(float3,math :: vector)。

也許不包括「cutil_math.h」,雖然看起來好像this header is missing for newer SDKs

+0

哦,是的,問題是運算符/。另一部分應該是正確的a3是一個三角形(我有3),我正常化,然後我試圖計算我的lambdas(lambda = Ai/SumOfA的)來計算我的重心座標。但我認爲問題是類型,但我不知道爲什麼 – vicR 2013-05-04 16:18:33