Hey guys 私は現在中期的に勉強しており、単一リンクリストを使用して簡単なプログラムを作成しようとしています。私がしたいのは、リストに "1"、 "2"、 "3"、 "4"を挿入して印刷するだけです。次のコードを見てみてください:単一リンクリストC++
#include <iostream>
#include <string>
using namespace std;
class node{
public:
node(int data);
friend class slist;
private:
int data;
node *next;
};
node::node(int data){
data = data;
next = NULL;
}
class slist{
public:
slist(){
head = NULL;
}
void insert(int item);
void output();
private:
node* head;
};
void slist::insert(int item){
node* newnode = new node(item);
if(head == NULL)
{
head = newnode;
}
else
{
newnode->next = head;
head = newnode;
}
}
void slist::output(){
node* p = head;
while (p->next != NULL){
cout << p->data << " ";
p = p->next;
}
cout << p->data << " ";
}
int main(){
slist FINAL;
FINAL.insert(1);
FINAL.insert(2);
FINAL.insert(3);
FINAL.insert(4);
FINAL.output();
return 0;
}
をそれは罰金コンパイルが、それはポインタの代わりに、実際の数字を(私は推測している)を出力します。なぜ誰かが私に言うことができますか?
ありがとうございます!
ありがとう、これは固定です! – pauliwago
@paul:または初期化リストを使用してください(同じように)名前を同じにすることができます。 – GManNickG
@Gman:イニシャライザの場合+1。私はそう言っていたはずです。 – Keith