2011-01-27 4 views
2

Я получаю следующую ошибку, когда пытаюсь вызвать функцию, которую я перегрузил, чтобы принять 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*, 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); 
} 

, так как я ясно заливкой таНос как cuComplex, я не должен быть в состоянии назвать, что первым кандидатом?

ответ

5

Вы указали указатель, который был разыменован, поэтому он больше не является cuComplex *, а cuComplex. Возможно, вы хотите сделать следующее:

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

dang..you're на нем! благодаря! – Derek

Смежные вопросы