У меня есть код, который является реализацией двусвязного списка.
template<class T>
struct Node{
T value;
struct Node * next_;
struct Node * prev_;
};
template <class T>
class Dex
{
public:
struct Node<T> * head = (struct Node<T> *)calloc(1, sizeof(struct Node<T>));
struct Node<T> * tail = (struct Node<T> *)calloc(1, sizeof(struct Node<T>));
struct Node<T> * current = (struct Node<T> *)calloc(1, sizeof(struct Node<T>));
Когда я компилирую это, я получаю следующую ошибку:
[Ошибка] нет никаких аргументов для 'calloc', которые зависят от параметра шаблона, поэтому должно быть доступно объявление 'calloc' [-fpermissive]
Я пробовал malloc, new и т. Д. Но я хочу придерживаться calloc () для этого. Любой другой метод выделения памяти приветствуется, если он работает и не генерирует SIGSEV.
Я ожидаю, что код успешно скомпилируется и сможет инициализировать указатель (struct Node *), не сталкиваясь с проблемами с памятью.