金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1396|回复: 3

请问怎么把pData数据放进普通函数里面

[复制链接]

36

主题

136

帖子

146

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
永杰
发表于 2021-7-26 17:03 | 显示全部楼层 |阅读模式
老师您好:
   我想把CALCINFO* pData;放入普通函数里面,但是我按下面这样定义一个普通函数float h5l(int k)函数的话,CALCINFO* pData放入函数体{         }内,好像pData不能得到数据;我在朋友那里看到了float h5l(CALCINFO* pData,int k)这种定义,确实可以得到数据(函数体内放置一个vector容器作为载体),使用的时候他们是h5l(pData,k)这样得到数据的,就是用循环的i代替k。但是这样处理以后,如果二个这种函数放另外一个函数内,pel打开K线就会卡的很厉害,估计是pData空指针引起的卡。
   有没有办法定义一个普通函数float h5l(int k)函数,在函数体内使用pData呢?我这样定义普通函数,哪怕把CALCINFO* pData放函数前面(外面),函数依旧无法得到数据。
  我如果在一个大函数内(可以导出DLL的那种定义的大函数)定义多个容器,也不会卡,只有float h5l(CALCINFO* pData,int k)这种定义才会特别卡。

回复

使用道具 举报

2

主题

4474

帖子

4474

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2021-7-27 16:02 | 显示全部楼层
CALCINFO* pData对应到一段内存地址,你只有知道了这个地址才能用,不知道的话你是用不了的。
你朋友的方式是函数传参,你也可以采用其他方式,例如全局变量
你一定要知道什么时候要用,这个地址要在你使用前设置好,也就是初始化
回复

使用道具 举报

36

主题

136

帖子

146

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
永杰
 楼主| 发表于 2021-7-28 08:23 | 显示全部楼层
谢谢老师
回复

使用道具 举报

36

主题

136

帖子

146

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
永杰
 楼主| 发表于 2021-7-28 20:05 | 显示全部楼层
特别感谢老师的提示,使用地址传递参数,一点也不卡,并且有可能解决数据不稳定问题。我已经组合了不少定义,暂时数据全部正确,并且不卡
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-1-3 05:40 , Processed in 0.199084 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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