Как создать общую таблицу тяги :: device_vectors

0

Я создал структуру для структурирования таблицы, в которой столбцы являются thrust :: device_vectors и gcc жалуется, что я не передаю параметр шаблона.

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

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

Как я могу сделать его общим, чтобы у меня могли быть какие-либо произвольные параметры шаблона для каждого столбца?

Например, одна таблица может иметь 2 столбца: 1 вектор флоат-устройства и вектор целочисленного устройства.

  • 0
    Возможно, вы захотите изучить Boost Any или Boost Variant
  • 0
    Спасибо, я собираюсь использовать Boost Any, если не найду здесь хорошего решения.
Теги:
cuda
thrust

1 ответ

1

Компилятор не знает, какой тип device_vector будет создан. Вы должны так использовать

template <typename T> 
struct table 
{ 
     thrust::device_vector<T> *columns; 
};
  • 0
    этот ответ разрешит только столбцы одного типа, а не разные. следовательно, он не будет поддерживать как int, так и двойные столбцы.
  • 0
    Это в точности поддерживает любой тип, который вы передаете ему при создании объекта. что именно хочешь сделать не понятно? Можете ли вы вставить псевдокод о том, что вы хотите сделать?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню