오류, 버그, 질문 - 페이지 2762

 
Igor Makanu :

확인:

알겠습니다. 컴파일러 경고 없이 작동합니다.

감사해요

웃을 수 있지만 경고 없이 작동합니다.

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

웃을 수 있지만 경고 없이 작동합니다.

당신도 웃겠지만 이것이 UB로 가는 방법이자 다음 빌드에서 까다로운 버그를 찾는 방법입니다 :-)

int foo=-1;

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

 
Igor Makanu :

확인:

알겠습니다. 컴파일러 경고 없이 작동합니다.

감사해요

이 경우 ArrayInitialize를 호출하는 이유는 무엇입니까? uchar uc[16] = {0xFF}를 작성하지 않는 이유는 무엇입니까? ?

ArrayInitialize는 동적으로 할당된 배열에 대해 의미가 있지만 여기에서는 설명 시점에 크기를 알고 있는 것으로 알려져 있습니다.

 
Aleksey Mavrin :

웃을 수 있지만 경고 없이 작동합니다.

재미있지 않습니다. 이것은 올바른 초기화가 아닙니다. 그러면 왜 그렇게 했는지 이해할 수 없습니다.

uchar로 캐스팅할 때 상위 바이트가 잘리는 것이 분명합니다.


스타니슬라프 코로트키 :

이 경우 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에 대해서도 경고하지 않습니다. 여기에 논리가 있습니까?

추신 글쎄, -1을 사용하면 규칙에 따라 최대 값만큼 서명되지 않은 것으로 축소됩니다. 변수는 상수보다 나쁩니다.
 
Andrei Trukhanovich :

그렇게 좋은 방법으로 가져 오지 않고

UPD 아니요, 경고이기도 합니다. 이러한 리터럴에는 ushort 유형이 있습니다.
 '\xFF'

?? 4-ke (때로는 열려 있음) 롤에서 ...

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

  }

PS/ 갑자기 많은 웹사이트 수치를 가지고 있는 사람이 가끔 그들에게 도움을 줄 때.

 
빌드 2460 및 2470에서 모든 거래를 삭제하고 새 주문이 시작될 때 자동 업데이트를 비활성화하면 이것이 사실이 아니기 전에 모두 다시 나타나며 일부 어드바이저와 지표가 작동을 멈추고 err 400 및 err 401을 씁니다. 그들은 오류없이 컴파일하지만 작동하고 싶지 않습니다 .....