错误、漏洞、问题 - 页 2762

 
Igor Makanu:

检查了。

好了,在没有任何编译器警告 的情况下工作

谢谢

你会笑的,但即使是这样,也是没有警告的。

uchar c[16];
int ini2=0xFFFF;
ArrayInitialize(c, (uchar)ini2);
 
Aleksey Mavrin:

你会笑的,但即使是这样,也是没有警告的。

你也会笑的,但这是通向卓越绩效的途径,也是在下一次构建中获得棘手错误的途径 :-)

int foo=-1;

uchar bar=(uchar)foo; // чему должен быть равен bar ?

 
Igor Makanu:

检查了。

好了,在没有任何编译器警告 的情况下工作

谢谢

为什么在这种情况下需要调用ArrayInitialize?为什么不直接写uchar uc[16] = {0xFF}; ?

ArrayInitialize对于动态分布的数组是有意义的,而这里的大小在描述时应该是已知的。

 
Aleksey Mavrin:

你会笑的,但即使是这样,也是没有任何警告的。

这并不好笑,这不是正确的初始化,你可能不明白为什么你会这样做

很明显,在转换为Uchar时,高字节将被截断。


Stanislav Korotky:

为什么在这种情况下我需要调用ArrayInitialize?为什么不直接写uchar uc[16] = {0xFF}; ?

ArrayInitialize对于动态分布的数组是有意义的,这里的大小在描述的时候应该是已知的。

行不通

取消打印,第一个元素将是255,其余的是0,0,0,...。

 
Igor Makanu:

好了,在没有任何编译器警告 的情况下工作

没有重影的情况下,通常是这样的

ArrayInitialize(uc, '\xFF');
UPD 没有,同样的警告,这样的文字是ushort类型的
 
再一次,在平等的基础上...
void OnStart(){
   uchar uc[16];
   ArrayInitialize (uc, -1);
   ArrayPrint(uc);  // 255 255 255 255 255 ...
}
 
Sergey Dzyublik :
再一次,在一个公平的竞争环境中......
有什么问题呢?
 
Sergey Dzyublik:
再次在现场...

我完全糊涂了 )

它对128和0xFF的常数发出警告,但对具有相同数值的int变量没有警告。

此外,它也没有对常数-1 int提出警告。这里面有什么逻辑吗?

s.s. 我想用-1是可以理解的,根据规则,它被还原为任何无符号的最大值。
 
Andrei Trukhanovich:

没有这样的鬼魂。

UPD没有,也是一个警告,这样的字面意义是ushort类型的
'\xFF'

哇哦...在4(它是偶尔开放的)卷。

void OnStart()
  {
ushort foo='\xFF';

  }

PS/当偶尔,谁在你附近有一个网站,就给他们一个耳光。

 
在build 2460和2470中,当你删除所有交易并禁用自动刷新,然后打开一个新的订单时,它们都会重新出现,之前没有发生过这种情况,而且部分顾问和指标会写出错误400和错误401,尽管它们的编译没有错误,但不想工作.....。