gpt4 book ai didi

c - 结构指针类型转换错误分配使指针来自整数而不进行转换

转载 作者:行者123 更新时间:2023-11-30 21:28:30 26 4
gpt4 key购买 nike

typedef struct data
{
long open;
long high;
long low;
long close;
}ohlcstruct;

ohlcstruct * pOhlc = NULL;
pOhlc = calloc(1,sizeof(pOhlc)*375);
SetPfData(sPFName,1,(long)pOhlc); //This sets the param value of sPFName as (long OHLC)

我接受对方的值(value)

ohlcstruct * pohlctemp;     
pohlctemp = GetPfData(sPfName,1); //Getting the param set at index 1 above
//Error here

错误是赋值使指针来自整数而不进行强制转换

请帮忙

最佳答案

当您使用SetPfData存储指针时,您将指针转换为long。当您使用 GetPfData 检索它时,您需要执行相反的操作,将结果转换回指针:

pohlctemp = (ohlcstruct *)GetPfData(sPfName, 1);

这似乎是一个非常糟糕的 API,因为无法保证 long 可以保存所有指针值。

关于c - 结构指针类型转换错误分配使指针来自整数而不进行转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40778225/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com