我有一個functor
需要修改元組值。所以我通過一個const reference
它。將元組的const引用傳遞給函子
這裏是我的代碼:
void operator() (thrust::tuple<const int&,const float&> tup)
{
thrust::get<1> (tup) += 10;
thrust::get<0> (tup) += 10;
}
但我得到一個錯誤: error: expression must be a modifiable lvalue
顯然我不是修改參考,我只修改由元組參考的價值。
在C++中沒有「const引用」(引用永遠不可復位)。 'const'通常指的是綁定值。 –
不知道推力圖書館,但在大多數圖書館,元組是不可改變的一個很好的理由。這個圖書館可能也是這種情況嗎? – UniversE
當我沒有傳遞一個const引用時,我得到這個錯誤:類型爲「int&」(不是const限定的)的引用無法用類型爲「const thrust :: device_reference」 –
PRP