2011-01-27 20 views
2

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) 

なぜ私はこれを取得していますか?私が最初に候補者を呼び出すことができ、私ははっきりcuComplexとしてmalloc関数を鋳造しておりますので、

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

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

はずの:ここ

は私がのgetData関数を呼び出した方法ですか?

答えて

5

ポインタを逆参照しているので、ポインタはcuComplex *ではなく、cuComplexになりました。おそらく、次のようにしたいと考えています:

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

ダング..あなたはそれです!ありがとう! – Derek

関連する問題