C++ 函数调用不接受我的参数
当我试图调用一个重载的函数来接受cuComplex(CUDA的一种结构)时,出现了以下错误C++ 函数调用不接受我的参数,c++,C++,当我试图调用一个重载的函数来接受cuComplex(CUDA的一种结构)时,出现了以下错误 ../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*, offse
../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)
。/common/Filter.cpp:73:错误:调用“ReaderIF::getData(float2&,int&)”没有匹配的函数
../readers/ReaderIF.h:63:注意:候选对象是:虚拟bool ReaderIF::getData(cuComplex*,offset)
../readers/ReaderIF.h:65:注意:虚拟bool ReaderIF::getData(std::complex*,offset)
../readers/ReaderIF.h:82:注意:虚拟bool ReaderIF::getData(float*,offset)
为什么我会得到这个
下面是我如何调用getData函数的:
cuComplex *h_hhBuff = (cuComplex *)malloc(memsize);
for (int r = 0; r < rows; r++)
{
hhReader->getData(h_hhBuff[r*cols], r);
}
cuComplex*h_hhBuff=(cuComplex*)malloc(memsize);
对于(int r=0;rgetData(h_hhBuff[r*cols],r);
}
既然我很清楚地把malloc塑造成一个复杂的人,我难道不能称之为第一个候选人吗 您已经为指针编制了索引,而指针已经取消了对它的引用,因此它不再是
cuComplex*
,而是cuComplex
。也许您希望执行以下操作:
hhReader->getData(&h_hhBuff[r*cols], r);