2012-04-15 44 views
0

我有以下代碼:使用LARGE_INTEGER給我回的錯誤錯誤C2679:「=」二進制沒有操作員發現這需要右手操作

QueryPerformanceCounter(&timeStart); 
winMain::render(); //do stuff 
QueryPerformanceCounter(&timeEnd); 
numCounts = (timeEnd.QuadPart - timeStart.QuadPart); 

所有3個變量聲明爲LARGE_INTEGER,代碼因爲即時通訊應該工作之後一本書的例子,但我得到:

錯誤C2679:「=」二進制沒有操作員發現這需要類型LONGLONG 的右手操作數,它就可能是「_LARGE_INTEGER & _LARGE_INTEGER ::運算符=( const _LARGE_INTEGER &)' 1> durante la r icerca di corrispondenza con l'elenco di argomenti'(LARGE_INTEGER,LONGLONG)'

+0

你確定你沒有試圖從LARGE_INTEGER或其他東西中減去LARGE_INTEGER嗎?減去quadpart應該沒問題,因爲它們只是很長的數據類型。 – 2012-04-15 17:29:44

+0

我不這麼認爲,即時追蹤這本書,這就是我所有的代碼,除了3個變量的聲明LARGE_INTEGER – rekotc 2012-04-15 17:35:09

回答

1

您正試圖將LONGLONG分配給LARGE_INTEGER。沒有這樣的轉讓存在。也許你打算分配給numCounts.QuadPart。

+0

好吧,我想這是問題!將其更改爲numCounts.QuadPart =(timeEnd.QuadPart - timeStart.QuadPart);解決了這個問題。所以這本書是錯的..謝謝! :) – rekotc 2012-04-15 17:38:41

相關問題