吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 741|回复: 2
收起左侧

[求助] malloc内存分配

[复制链接]
Jae_1010 发表于 2022-6-30 15:54
本帖最后由 Jae_1010 于 2022-7-1 13:20 编辑

TDF_MARKET_DATA结构体包含TDF_CODE_INFO结构体指针
[C++] 纯文本查看 复制代码
struct TDF_MARKET_DATA
{...
TDF_CODE_INFO *pCodeInfo;
};
struct TDF_CODE_INFO {...};

使用完TDF_MARKET_DATA结构体数组要一起释放内存
[C++] 纯文本查看 复制代码
void *buffer = (void *)malloc((sizeof(TDF_MARKET_DATA) + sizeof(TDF_CODE_INFO)) * 100);
memset(buffer, 0, (sizeof(TDF_MARKET_DATA) + sizeof(TDF_CODE_INFO)) * 100);
int i = 0;
TDF_MARKET_DATA* tmp = (TDF_MARKET_DATA*)buffer;
TDF_CODE_INFO* tmp2 = (TDF_CODE_INFO*)(tmp + sizeof(TDF_MARKET_DATA) * 100);

此处一个循环
[Asm] 纯文本查看 复制代码
tmp[i].pCodeInfo = &tmp2[i];
tmp[i].pCodeInfo->nMarketID = lpNsqSdkVal->snapshot_code_info_cache[market].nMarketID;

上边这里,ide提示表达式必须是可修改的左值
编译也报错: error: assignment of member ‘TDF_CODE_INFO::nMarketID’ in read-only object
求助大佬,为什么这里是只读,我该怎么写呢

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

25535 发表于 2022-7-1 10:32
本帖最后由 25535 于 2022-7-1 10:35 编辑

有加const 吗
 楼主| Jae_1010 发表于 2022-7-1 13:18
本帖最后由 Jae_1010 于 2022-7-1 13:20 编辑

没有加的,
[C++] 纯文本查看 复制代码
struct TDF_MARKET_DATA
{...
TDF_CODE_INFO *pCodeInfo;
};
struct TDF_CODE_INFO {...};

你可以 自己实现个类似的结构,然后申请内存,赋值,应该也会出现同样的情况
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 10:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表