我正在尝试将对象添加到链表中。我的程序的想法是制作一个学生信息系统。在这个学生信息系统中,当有一个新的学生条目时,将创建一个新的类(class)对象,该对象将是链表中新节点的信息。换句话说,该对象将是链表节点的信息字段。我试过这个程序但出现错误。
#include<iostream.h>
class result
{
int age;
char name[30];
float marks;
public:
void ret(int a, float m)
{
age = a;
marks = m;
}
};
struct node
{
result info;
struct node *next;
};
void main()
{
struct node *h, *t;
int g;
float ma;
cout<<"Enter age , name , marks\n";
cin>>g;
cin>>ma;
result ob;
h = NULL;
t = new node;
t->info = ob.ret(g,ma);
t->next = NULL;
h = t;
cout<<t->info;
}
错误是:
1) 不允许的类型 2) 非法结构操作
最佳答案
ret
是返回 void
的 result
的成员。我猜你打算制作一个带有两个参数的 result
的构造函数。所以,这就是你要做的
class result
{
int age;
char name[30];
float marks;
public:
result(){}
result(int a, float m)
{
age = a;
marks = m;
}
};
并将 t->info = ob.ret(g,ma);
更改为 t->info = result(g, ma);
关于c++ - 将对象嵌入到链表c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24669104/