当我尝试调用我已经重载的函数以接受来自CUDA的结构cuComplex时,我收到以下错误.
../common/Filter.cpp:73: error: no matching function for call to ‘ReaderIF::getData(float2&, int&)’
../readers/ReaderIF.h:63: note: candidates are: virtual bool ReaderIF::getData(cuComplex*, offset)
../readers/ReaderIF.h:65: note: virtual bool ReaderIF::getData(std::complex<float>*, offset)
../readers/ReaderIF.h:82: note: virtual bool ReaderIF::getData(float*, offset)
Run Code Online (Sandbox Code Playgroud)
为什么我得到这个?
这是我如何调用getData函数:
cuComplex *h_hhBuff = (cuComplex *)malloc(memsize);
for (int r = 0; r < rows; r++)
{
hhReader->getData(h_hhBuff[r*cols], r);
}
Run Code Online (Sandbox Code Playgroud)
因为我显然将malloc作为cuComplex投射,我不能称之为第一个候选人吗?
你已经为你的指针编制索引,它已经取消引用它,所以它不再是a cuComplex *,而是a cuComplex.也许你想要做以下事情:
hhReader->getData(&h_hhBuff[r*cols], r);
Run Code Online (Sandbox Code Playgroud)