템플릿 매개변수가 있는 컴파일러 버그 = void* - 페이지 8

 
A100 :

내가 잘못 기술했다면 - 정정해 주세요 - 괄호에 관한 경고가 필요한 곳에 제 개념을 간략하고 명확하게 명시했습니다.

옳지 않다. 괄호를 사용하면 오류 가능성이 줄어듭니다.

경고는 상대적으로 많은 인코더가 이러한 녹음에서 실수를 범한다는 메시지입니다. 결과는 의도한 것과 다릅니다. 이것은 대괄호뿐만 아니라 모든 경고에 적용됩니다.

 
fxsaber :

옳지 않다. 괄호를 사용하면 오류 가능성이 줄어듭니다 .

경고는 상대적으로 많은 인코더가 이러한 녹음에서 실수를 범한다는 메시지입니다. 결과는 의도한 것과 다릅니다. 이것은 대괄호뿐만 아니라 모든 경고에 적용됩니다.

이것은 개념이 아니라 일반적인 추론입니다.

질문은 실용적인 평면에 있으며 추상적이 아니라 구체적입니다. 괄호는 어디에 필요합니까? 어디에나? 아니면 선별적으로? 그러면 누가 선택을 결정합니까? FX세이버? 명확하게 말할 수 있습니까? 이 개념이 컴파일러에서 구현될 수 있도록

나는 공식화 했다 : "당신이 그들 없이는 할 수없는 곳에서만"

 
pavlick_ :

추신: 하지만 그렇게 했다면 표준 플러스 라이브러리(이름, 동작 등)와 최대한 비슷하게 했을 것이므로 선택의 여지가 없습니다. 모든 것이 이미 작성되어 있는데 왜 다른 사양을 생성합니까?

내가 그랬다면 mql의 객체 배열과 포인터는 전혀 필요하지 않습니다. 각 루프에 대한 동적 목록 및 Marcos를 사용하면 가장 간결하고 편리한 방법으로 거래 작업의 99%를 해결할 수 있습니다. 별도의 목록 클래스도 필요하지 않습니다. 이 모든 종소리와 휘파람은 우리가 일반적으로 여기에있는 것보다 더 큰 규모로 필요합니다 ...

 
A100 : 명확하게 공식화할 수 있습니까?

코드를 이해하기 쉬운 곳

 
TheXpert :

코드를 이해하기 쉬운 곳

이 개념을 컴파일러에서 구현할 수 있습니다. 아무도 추가 대괄호를 넣는 것을 금지하지 않습니다. 추가 경고 문제

 
A100 :

질문은 실용적인 평면에 있으며 추상적이 아니라 구체적입니다. 괄호는 어디에 필요합니까? 어디에나? 아니면 선별적으로? 그러면 누가 선택을 결정합니까? 엑스세이버? 명확하게 말할 수 있습니까?

문제는 MT4 컴파일러가 맞습니까?

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

MetaTrader 5 플랫폼 빌드 1930의 새 버전: MQL5의 플로팅 차트 창 및 .Net 라이브러리

fxsaber , 2018.12.11 19:44

 #property strict
   // from MT5: Canvas.mqh
   uint Pixel = (r<< 16 |g<< 8 |b<< 0 | 255 << 24 ) & 0xffffffff ; //check operator precedence for possible error; use parentheses to clarify precedence


이 경우 맞습니다. 여기서 괄호는 필요하지 않지만 바람직합니다. 왜냐하면 실수할 가능성이 있습니다. 컴파일러가 모든 종류의 경고를 발행하는 것은 그러한 확률을 기반으로 합니다. 그들이 발명되었기 때문만은 아닙니다.

 
fxsaber :

이 경우 맞습니다.

이 단계에서 구체적인 예는 필요하지 않습니다(당신이 원하는 만큼 주어질 수 있습니다). 컴파일러에서 구현할 수 있는 단일 개념이 필요합니다(괄호가 누락된 경우 경고를 발행해야 하는 경우)

 
A100 :

이 단계에서 구체적인 예는 필요하지 않습니다(당신이 원하는 만큼 주어질 수 있습니다). 컴파일러에서 구현할 수 있는 개념 필요

이미 잘 구현되어 있습니다. MT4가 더 똑똑하다는 것뿐입니다.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

MetaTrader 5 플랫폼 빌드 1930의 새 버전: MQL5의 플로팅 차트 창 및 .Net 라이브러리

fxsaber , 2018.12.11 20:22

중복 게시물이 아닙니다. 항상 우선순위가 있다

 bool a = r && g || b; // check operator precedence for possible error; use parentheses to clarify precedence

컴파일러는 이미 가능한 오류에 대해 경고합니다.

 
fxsaber :

이미 잘 구현되어 있습니다. MT4가 더 똑똑하다는 것뿐입니다.

MQL5에서 우선순위가 다르기 때문에 경고가 발행되었습니다. 아니 때문에 ...

저것들. "경고는 MQL4에서 이전과 다른 경우에도 필요할 수 있습니다"라는 개념 이 있습니다. 따라서 개발자는 이전 결함을 수정했습니다 ... 더 이상

 
불완전한 수식을 작성할 때 Excel이 수행하는 것처럼 컴파일러가 자동으로 대괄호를 "올바르게" 배치하도록 제안하면 더 편리할 것입니다.