私はubuntu 12.04 - 64ビットを使用しています。私がコンパイルしようとすると、私はブースト1.46、1.48、1.52および GCC 4.4と4.6 でそれをテストした:エラー: 'min(long unsigned int&、unsigned int&)'の呼び出しで一致する関数がありません。
while (m_burstReqBeatsRemain) {
if (m_burstReqAddress % m_dramRowSize == 0) {
m_admRequestQueue.push_back(adm_request());
adm_request &req = m_admRequestQueue.back();
req.address = m_burstReqAddress;
req.command = tlm::TLM_READ_COMMAND;
//call to min function
req.readLen = std::min(m_burstReqBeatsRemain * sizeof(Td), m_dramRowSize);
}
m_burstReqBeatsRemain--;
m_burstReqAddress += sizeof(Td);
m_ocpTxnQueue.push_back(m_ocpReq);
}
私はこのエラーを取得する:
no matching function for call to ‘min(long unsigned int&, unsigned int&)
from /usr/include/c++/4.6/bits/stl_algobase.h*
注:Ubuntuの12.04 32ビットの作品とをfine
どのように私はこれを修正することができますか?
2つの異なるタイプの「最小」を取ろうとしているため、「最小」は両方の値が同じタイプであることを期待しているからです。 –