У меня есть этот общий класс узла:
class Node<E>
{
private E data;
private Node<E> link;
public Node(E d)
{
data = d;
link = null;
}
public Node(E d, Node<E> l)
{
data = d;
link = l;
}
public void AddNodeAfter(E d)
{
link = new Node<E>(d, link);
}
}
И у меня есть мой основной класс с двумя строками:
Node<int> n1 = new Node<int>(100);
n1.AddNodeAfter(4.4); //error here
Строка n1.AddNodeAfter(4.4)
дает мне ошибку Argument 1: cannot convert from 'double' to 'int'
который я не совсем понимаю.
Насколько я знаю, последний узел содержит int
в качестве data
, но этот узел является общим, поэтому я предполагаю, что это не имеет значениякаким будет следующий узел, поскольку data
может меняться от узла к узлу.
Но, очевидно, я что-то упускаю.Поэтому мой вопрос: почему я получаю эту ошибку преобразования в универсальном классе?
Спасибо!