Попытка получить шаблон в структуре и использовать его в std :: vector - PullRequest
1 голос
/ 27 октября 2019

Я пытаюсь создать класс дерева для теста, но получаю: «ошибка: несоответствие типа / значения в аргументе 1 в списке параметров шаблона для« шаблона класса std :: vector ».

template <typename T>
struct a {
T data;
void ReceiveData(T T_data) {
    data = T_data;
}
};
struct b {
std::vector<a> b_data;//Error here
};

1 Ответ

4 голосов
/ 27 октября 2019

Вам необходимо указать тип шаблона a:

template<typename T> struct a 
{
   T data;
   void ReceiveData(T T_data) 
   {
      data = T_data;
   }
};

template<typename T> struct b 
{
   std::vector<a<T>> b_data; //compiles now
   //          ^^^^
};

Обратите внимание, что только a - это не тип, это шаблон. Жить на Годболт

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...