结构体中用string类型接char型字符?你输入的是char型的字符,没有转换的话,不能直接为string类型的变量赋值吧。
改用 char name[10]; 可避免错误。
typedef struct PCBNode
{
char name[10]; //进程名
//string name;
PCBNode *next; //指针
int time; //要求运行时间
int priority; //优先数
char state; //状态
}PCB;
不知道具体问题,不过我觉得如果你输入的进程名含有空格应该就会有错,因为cin以空白符结束输入,即空白后的字符可能会传入priority中。
你这是C++程序啊,用new来申请内存吧。
PCB *p;
if(p= new(PCB))
string类的输入可用getline(cin,p->name);
char [10]的话可以直接cin>>
p= (PCB *)malloc(sizeof(PCB))
你开辟空间后最后没有释放 调试当然不通过