ここに迷惑なメッセージが出ていて、何が間違っているのかよくわかりません。は、推論:: cuda min_element()関数の比較述語を構築できません。
float4 *IntsOnHost = new float4[ MAXX * (MAXY - 1) ];
//copy possible intersection points from device to host
CU_SAFE_CALL(cudaMemcpy(IntsOnHost,IntsOnDevToCpyToHost,(MAXX*(MAXY - 1)-1)*sizeof(float4),cudaMemcpyDeviceToHost));
thrust::device_vector<float4> IntsOnDev (IntsOnHost,IntsOnHost + (MAXX * (MAXY - 1)-1)*sizeof(float4));
//find the index of the smallest intersection point
thrust::device_vector<float4>::iterator it = thrust::min_element(IntsOnDev.begin(),IntsOnDev.end(),equalOperator());
と述語:
struct equalOperator
{
__host__ __device__
bool operator()(float4 x, float4 y)
{
return (x.w > y.w);
}
};
エラーメッセージ:
1> C:\プログラムファイル\ NVIDIAのGPUコンピューティング ツールキット\ CUDAの\ v4.0のの\は、\引数: 与えられた引数リストでは、関数 "equalOperator :: operator()"を呼び出すことはできません
ありがとうございました!
...数日かかったあなたは、コンパイラが弾力をどう思うか追加することができます引数リストは? –