我爲與-time/2步填充向量t時間/ 2和步長DT以下功能:推力:操作員「*」不支持
#define THRUST_PREC thrust::complex<double>
__host__ void generate_time(thrust::device_vector<THRUST_PREC> *t, const double dt, const double time)
{
THRUST_PREC start = -time/2.0;
THRUST_PREC step = dt;
thrust::sequence((*t).begin(), (*t).end(), start, step);
}
編譯時,我得到error : no operator "*" matches these operands
。爲什麼?有沒有辦法像我一樣填充矢量,還是應該用舊的方式填充它(又名循環)?
編輯:完整的錯誤:Error 1 error : no operator "*" matches these operands C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\include\thrust\system\detail\generic\sequence.inl 48 1 FFT_test
請提供[mcve],並提供來自編譯器的*整套錯誤和註釋*,而不僅僅是exerpt。如果你理解錯誤信息,你不需要在這裏問,如果你不明白爲什麼你認爲總結是足夠的?我的意思是,我無法相信它沒有給你發生錯誤的線路。 – Yakk
@Yakk:我添加了完整的錯誤,這是我得到的所有MSVC ... –
我不知道,我直接從MSVC複製錯誤。刪除/註釋此功能時,錯誤消失。添加/取消註釋時,出現上面列出的錯誤。 –