如何创建thrust :: device_vector的通用表

时间:2013-11-14 09:44:02

标签: c++ c cuda thrust

我创建了一个结构来构造一个表,其中列是push :: device_vectors,gcc抱怨我没有传递模板参数。

struct table 
{
    thrust::device_vector *columns;
};

error: argument list for class template "thrust::device_vector" is missing

如何让它通用,我可以为每列提供任何类型的任意模板参数?

例如,一个表可以有2列:1个浮点设备向量和一个整数设备向量。

1 个答案:

答案 0 :(得分:1)

编译器不知道要创建哪种类型的device_vector。你应该这样使用

template <typename T> 
struct table 
{ 
     thrust::device_vector<T> *columns; 
};