正在使用的下面一行代碼通過下面的代碼來劃分的對象的數量:的std ::分區誤差分區的類型的對象的矢量時
vector<PrimitiveBvhRepresentation>::iterator lastFirst = std::partition(first, last, &Engine::BVHNode::MiddlePointPartition);
分區功能利用下面的函數來確定向量中的各個對象是真還是假。
bool MiddlePointPartition(PrimitiveBvhRepresentation current)
{
if (splittingAxis == 0)
{
return current.boundingBoxCentroid.x <= splittingAxisValue;
}
else if (splittingAxis == 1)
{
return current.boundingBoxCentroid.y <= splittingAxisValue;
}
else
{
return current.boundingBoxCentroid.z <= splittingAxisValue;
}
}
但在執行時,我收到以下錯誤:
Error 63 error C2064: term does not evaluate to a function taking 1 arguments
當錯誤點擊它需要我的算法類。函數的引用是否寫錯了?
嘗試將函數簽名更改爲'bool MiddlePointPartition(PrimitiveBvhRepresentation const&current)' – CoryKramer
@CoryKramer did not work:/ –
它是一個非靜態成員函數嗎? – Yakk