错误、漏洞、问题 - 页 3138

 
Valeriy Yastremskiy #:

静态数组的尺寸是一个常数,而不是一个int。

对不起,我没有检查就回答了。

我加入的问题,恒定的静态int,ushort,效果是一样的,虽然是在帮助。

变量

阵列索引只能是一个整数。

关于交易、自动交易系统和策略测试的论坛

虫子,虫子,问题

x572 intraday, 2022.01.08 20:44

   int dim=5;
   int Arr1[5];// OK
   int Arr2[dim];// '[' - invalid index value

要么我完全搞砸了,要么如果不是虫子,就在帮助中戳一拍。


 
Valeriy Yastremskiy #:

对不起,没有检查就回答了。

我加入的问题,恒定的静态温特,ushort的效果是一样的,虽然在帮助。

变量

只有整数可以作为数组的索引。


答案几乎是正确的。一个变量不是一个常数。

 
Valeriy Yastremskiy #:

对不起,没有检查就回答了。

我加入的问题,恒定的静态温特,ushort的效果是一样的,虽然在帮助。

变量

只有整数可以作为数组的索引。


而不是

int dim=5;

放在程序的顶部。

#define  dim 5
但我个人认为这...与其说是一个拐杖,不如说是一种不太方便的替代方案,可以替代理想的但不工作的和不可行的原始版本。
 
Alexey Viktorov #:

答案几乎是正确的。一个变量不是一个常数。

即声明一个常数的整数变量不是一个常数?

 
x572intraday #:

而不是

放在程序的顶端

但就我个人而言,我发现这...不是作为一个拐杖,而是作为一个不太方便的替代方案,来替代一个理想的、但不可行的、无法实现的原始变量。

替换是不同的,当然不是通过替换一个整数来代替dim,而是由编译器吞噬。

 
Valeriy Yastremskiy #:

即声明一个常数的整数变量不是一个常数?

一个常量变量不是一个常量值。关键字是可变的
 
Alexey Viktorov #:
一个常量变量不是一个常量值。关键字是可变的
谢谢你,这就更有意义了)
 

我明白原因,但在帮助中关于IsStopped() 的信息非常少。 我希望得到更多的细节。

  1. 把它塞进所有的循环中,有什么意义吗?或 者有的情况下没有必要再做?或者,为了更好的安全,我们是否应该在各处添加它们?我怀疑该函数在高负荷循环 中最有用,例如,在小TF中尝试巨大的rate_total时,在尝试大量的图形对象时,等等?
  2. 除了循环,我还能/应该把它推到哪里?除了周期,我在其他地方没有看到任何例子。
 
x572intraday #:

我明白了它的作用,但在帮助中关于IsStopped() 的信息非常少。 我希望得到更多的细节。

  1. 把它塞进所有的循环中,有什么意义吗?或 者在某些情况下没有必要重新做一遍?或者,为了更好的安全,我们是否应该在各处添加它们?我怀疑该函数在高负荷循环 中最有用,例如,在小TF中尝试巨大的rate_total时,在尝试大量的图形对象时,等等?
  2. 除了循环,我还能/应该把它推到哪里?我还没有看到任何例子,除了循环。

这最常用于循环中,你可能会意外地得到一个无限的循环。或者故意在一个脚本或服务中循环使用。

 

为什么我们不能这样做呢?

void OnStart()
  {
   TFunc f = someFunction;
  }

class Test
  {
  } ;
typedef void (*TFunc)(Test*);
void someFunction(Test &a)  { }



不能将函数'someFunction'投给类型'TFunc'。