Я пытаюсь создать функцию, которая устанавливает узел root LinkedList. Однако, когда я запускаю следующий фрагмент кода:
#include <iostream>
using namespace std;
template <typename K>
struct Node {
Node<K>* next;
const K value;
};
template <typename K>
Node<K>* root = NULL;
template <typename K>
void SetRoot(const K &key) {
Node<K> new_node = Node<K> {NULL, key};
root = &new_node;
}
int main(int argc, char *argv[])
{
Node<int> n1 = Node<int> {NULL, 48};
SetRoot(n1);
return 0;
}
, я получаю эту ошибку в строке root = &new_node;
:
ошибка: отсутствуют аргументы шаблона перед токеном '=' root = & new_node;
Однако new_node
имеет все ожидаемые аргументы для структуры Node
.