我在我的生活中第一次使用Visual Studio 2010作爲學校作業......迄今爲止它非常簡單,但我遇到了麻煩將'double'轉換爲'int'。據我所知,這兩個trunc()
和round()
沒有在VS2010工作,但是我不知道我還能怎麼辦這個....這裏是我的代碼:在VS2010中從'double'轉換爲'int'C++
double q = double floor((p+r)/2);
q = (int) q;
mergeSort(v,p,q);
mergeSort(v,q+1,r);
merge(v,p,q,r);
我需要把這些變量q
一個int爲了與我的代碼的其餘工作...但是鑄造似乎並沒有工作,當我得到這些錯誤:
warning C4244: 'argument' : conversion from 'double' to 'int', possible loss of data
我知道這些只是警告,但我的代碼仍然失敗...有沒有其他解決方法呢?
這甚至不應該編譯可言,那是什麼'double'到的'='在那裏做的_right_? –
爲什麼你在這個計算中使用浮點數?使用int可以很好。 –
如果我離開它,我會得到以下錯誤:錯誤C2668:'floor':對超載函數'....'的模糊調用可能是'long double floor(long double)或'float floor(float)'或'雙層(雙層)' – accraze