Я редко использую шаблоны. Я не знаю, почему я вижу ошибку сборки в приведенном ниже коде для метода push
Node<float>
Ошибка сборки: нет соответствующей функции для вызова push.
Node<int>*
Метод push хорош хотя.
Node<float>* head1 = NULL;
push(&head1, 1);
template <typename T>
struct Node {
T data;
Node* next;
};
template <typename T>
void push(Node<T>** head, T data) {
Node<T>* tmp = *head;
Node<T>* newNode = NULL; //createNode(data);
if (tmp == NULL) {
*head = newNode;
}
else {
while (tmp->next)
tmp=tmp->next;
tmp->next = newNode;
}
}
int main(int argc, const char * argv[]) {
Node<float>* head1 = NULL;
push(&head1, 1);
Node<int>* head = NULL;
push(&head, 1);
return 0;
}