- 精华
- 0
- 在线时间
- 432 小时
- UID
- 7887
- 积分
- 527
- 帖子
- 65
- 阅读权限
- 50
- 注册时间
- 2010-3-28
- 最后登录
- 2019-11-8
- 精华
- 0
- UID
- 7887
- 积分
- 527
- 帖子
- 65
- 主题
- 23
- 阅读权限
- 50
- 注册时间
- 2010-3-28
- 最后登录
- 2019-11-8
|
函数回溯的问题。
我有一个函数mget_m5_mde。
函数回溯过程mget_m5_mde[1]/mget_m5_mde[2]/mget_m5_mde[3]其值都是一个相同的值,为什么会这样?
函数mget_m5_mde在bar1上值是10
函数mget_m5_mde在bar2上值是20
函数mget_m5_mde在bar3上值是30,
函数mget_m5_mde在bar4上值是40,
我在bar4上,回溯mget_m5_mde[1]/mget_m5_mde[2]/mget_m5_mde[3],发现其值都是40。
这个主要是,我想知道CountIf函数,CountIf(c>mget_m5_mde,12)>=8 的这样使用是否会有问题?
因为countif的第一个参数要求的bool的序列变量,而在编程countif的参数使用了c>mget_m5_mde,
如果编译器将c>mget_m5_mde变成一个序列变量,然后将序列变量传给countif就不会有错,如果不是这样编译的,我想会出问题的。
c是每个bar上都在变化,mget_m5_mde虽然是一个函数,但在每个bar上都在变的,比如c>mget_m5_mde,在每个bar上都满足的,
在最后一个bar上不满足,此时实际上CountIf(c>mget_m5_mde,12)依然大于8的,如果编译的时候函数回溯出问题,CountIf(c>mget_m5_mde,12)就不一定大于8了。
主要是想知道CountIf(c>mget_m5_mde,12)函数这样使用时,其参数c>mget_m5_mde是如何编译的?因为此处参数本身是要一个序列变量的,但这样写,编译也能通过,不知道编译器是如何实现的?
[ 本帖最后由 brucecolvin 于 2010-6-1 11:09 编辑 ] |
|