作者closeryou (歡 迎 光 伶 唷!!!)
看板C_and_CPP
標題[問題] 模擬兩可的呼叫多載函數
時間Mon Apr 11 18:16:15 2011
開發平台(Platform):VC++
額外使用到的函數庫(Library Used): OpenCV
問題(Question):之前有問過類似的問題,可是並沒有去了解
所以這次又遇到了就解決不了了...
希望這次能請前輩們解說一下
請問我該把float放在cos前面還是裡面呢
謝謝大家
錯誤結果(Wrong Output):
error C2668: 'cos' : 模稜兩可的呼叫多載函式
可能是 'long double cos(long double)'
或 'float cos(float)'
或 'double cos(double)'
當嘗試符合引數清單 '(int)' 時
error C2668: 'sin' : 模稜兩可的呼叫多載函式
可能是 'long double sin(long double)'
或 'float sin(float)'
或 'double sin(double)'
程式碼:for(int i=0; i< objectKeypoints1->total; i++)
{
CvSURFPoint* L = (CvSURFPoint*)cvGetSeqElem( objectKeypoints1, i );
CvPoint center;
center.x = cvRound(L->pt.x);
center.y = cvRound(L->pt.y);
CvPoint point2;
int s=L->size;
int theta=L->dir;
//下面這行
point2 = cvPoint(center.x+cos(theta)*s, center.y+sin(theta)*s);
cvLine( img1, center, point2 , CV_RGB(0,0,255),1,8,0);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.138.139.109
推 legnaleurc:把 theta 轉型成 float, double, long double 其一即可 04/11 18:25
→ closeryou:謝謝,請問是要放在COS前面還是後面呢 04/12 12:20
→ tropical72:cos (double(theta)), sin (double(theta)); 04/12 14:18