函数调用不接受我的参数

问题描述:

当我尝试调用一个函数时,出现以下错误,该函数已重载以接受来自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) 

为什么我得到这个?

这里是我叫的getData函数:

cuComplex *h_hhBuff = (cuComplex *)malloc(memsize); 
for (int r = 0; r < rows; r++) 

{ 
hhReader->getData(h_hhBuff[r*cols], r); 
} 

,因为我清楚地铸造的malloc作为cuComplex,不应该我可以称之为第一人选?

您已将索引编入索引,索引已取消引用,因此它不再是cuComplex *,而是cuComplex。也许你要做到以下几点:它

hhReader->getData(&h_hhBuff[r*cols], r); 
+0

dang..you're!谢谢! – Derek 2011-01-27 23:13:20