Я пытался создать связанный список со структурами. Идея состоит в том, чтобы использовать 2 разных структуры, один из которых является узлом, а другой - указателем на узлы (поэтому я могу связать узлы вместе).
Но я хотел инициализировать указатель на первый узел как NULL, а затем создать последующие узлы:
У меня ошибка в двух методах конструктора (List и Polynomial), я не могу использовать оператор =, как я. Но я не могу понять, почему.
struct List
{
//Data members to hold an array of pointers, pointing to a specific node
Node *list[100];
//Default constructor
List();
};
List::List()
{
*list[0] = NULL;
}
class Polynomial
{
public:
[...]
private:
List *poly; //Store the pointer links in an array
Node first_node;
int val;
};
Polynomial::Polynomial()
{
poly = new List();
}
/*******************************************************************************************************************************/
// Method : initialize()
// Description : This function creates the linked nodes
/*******************************************************************************************************************************/
Polynomial::void initialize(ifstream &file)
{
int y[20];
double x[20];
int i = 0, j = 0;
//Read from the file
file >> x[j];
file >> y[j];
first_node(x[j], y[j++]); //Create the first node with coef, and pwr
*poly->list[i] = &first_node; //Link to the fist node
//Creat a linked list
while(y[j] != 0)
{
file >> x[j];
file >> y[j];
*poly->list[++i] = new Node(x[j], y[j++]);
}
val = i+1; //Keeps track of the number of nodes
}
Я получаю ошибки в конструкторе Polynomial и конструкторе List.