2012-04-15 45 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

相关问题