FLY小新 2022-02-13 10:59 采纳率: 0%
浏览 26

为什么链表中赋值会发生错误错误

#include
using namespace std;
#include<string.h>
#include<malloc.h>

typedef struct node
{
string no;
string name;
double prize;
}Node;
typedef struct abc
{
Node data;
Node *next;
}pNode,*PNode;

void creat_list(PNode pL);
void input_list(PNode pL);

int main()
{
pNode L;
creat_list(&L);
input_list(&L);
}

void creat_list(PNode pL)
{
pL=(PNode)malloc(sizeof(pNode));
if(pL==NULL)
{
cout<<"分配内存失败"<<endl;
exit(-1);
}
pL->next=NULL;
}
void input_list(PNode pL)
{
PNode pS=(PNode)malloc(sizeof(pNode));
if(pS==NULL)
{
cout<<"分配内存失败"<<endl;
exit(-1);
}
pS=pL;
for(int i=0;;i++)
{
PNode newNode=(PNode)malloc(sizeof(pNode));
if(newNode==NULL)
{
cout<<"分配内存失败"<<endl;
exit(-1);
}
cin>>newNode->data.name>>newNode->data.no>>newNode->data.prize;

    pS->next=newNode;    
    pS=newNode;
    if(newNode->data.prize==0)
    {
        break;
    }
}

}
错误地方: pS->next=newNode;
错误原因:[ error ]无法在赋值中将‘ pnode { aka abc * }’转换为‘ node * { aka node * }’
求大佬解答

  • 写回答

2条回答 默认 最新

  • 谛凌 2022-02-13 11:11
    关注

    试试:
    pS->next=*newNode;

    next是Node *类型,但是你这里赋值的PNode类型

    评论

报告相同问题?

问题事件

  • 创建了问题 2月13日

悬赏问题

  • ¥15 usb相机曝光度expos增加一点,获取图像速度显著变慢。
  • ¥15 如何解决如图问题:我创建的java maven项目中使用了03版本的excel,我先进行了文件读取的操作(可以正常取出,文件还未损坏),文件还未损坏),然后在进行了对同一文件的写入操作
  • ¥100 对接googlepay/googlewallet咨询
  • ¥15 Odoo 17系统中如何配置自动更新生产成本功能
  • ¥15 如何提取京东订单生成QQ支付链接
  • ¥50 游戏中的像素着色器获取到的法线贴图错误怎么解决
  • ¥15 把从欧空局下载的哨兵一号数据导入snap的时候出现这个问题该怎么解决😥
  • ¥15 蓝桥杯stm322016年省赛试题中遇到的问题
  • ¥15 有没有ND4J能用的MAVEN地址
  • ¥15 外接电阻采用星形连接,测量一个电阻的相电压,用数据采集卡进行显示,而电机旋转转速有1300r/min,按照此电机的转速常数,应该电压值为15v左右