void list::add(int k, int x) {
cnt++;
node *p= new node;
node *q= right;
p->info = x;
for(int i=0; i<k; i++){
if(q->next == NULL){
node *r = new node;
q->next=r;
}
q=q->next;
}
// p->next=q; (this one is not needed)
q->next=p;
}
Я делаю список класса, который имеет метод add, который добавляет значение x в k месте.когда я запускаю программу, она возвращает 3221225477, и я почти уверен, что проблема в этом методе.
class list {
public:
list ();
bool empty ();
int size ();
void add (int k, int x);
int get (int k);
void remove (int k);
private:
struct node{
int info;
node *next;
};
node *right;
int cnt=0;
};