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

 
Slawa :
최적화 결과 테이블이 있는 탭의 모양 표시

예를 들면 다음과 같습니다(균형 + 최대 회복 계수):


저것들. 하나의 nan'은 그래프를 죽이기에 충분합니다(더 이상 nan'이 없더라도 그는 더 이상 세입자가 아닙니다).

// 그런데 이 경우 마이너스 잔액(초기 예금 1000000)으로 nan을 얻은 것을 테이블에서 알 수 있습니다.

 
Renat Fatkhullin :

근거 없음, 당신 자신이 증거로 당신의 말을 뒷받침하지 않을 때.

그들은 편집의 로그(사진이 아님)를 첨부할 수 있지만 다른 사람의 사진을 가져오기까지 했습니다.

....

컴파일러가 코드의 버그를 지적한다면 당신은 그것을 믿어야 합니다.

그리고 당신이 그것을 믿지 않는다면, 분석을 위해 포럼에 컴파일 로그를 게시하십시오. 오류 및 컴파일 시간이 있습니다.

알겠습니다. 약 1초 동안 컴파일되는 빌드 1159, 약 20초 동안 컴파일되는 빌드 1241, 컴파일되지 않는 빌드 1325의 로그를 첨부합니다(오류).

파일:
MQL_1159.txt  7 kb
MQL_1241.txt  7 kb
MQL_1325.txt  8 kb
 
이전 빌드의 2600 경고는 귀찮게하지 않습니다.

그러나 새 컴파일러가 발견한 2000개의 경고와 오류가 갑자기 컴파일러를 잘못 만들 수 있습니까?

코드에서 이 혼란을 처리하고 순서대로 배치하는 것이 좋습니다.

실제로 컴파일러가 코드의 문제에 대해 비명을 질렀을 때 그러한 진술을 하는 것은 이상합니다. 우리는 의도적으로 코드 품질에 대한 요구 사항을 높이고 기본적으로 문제를 숨기고 싶지 않습니다. 금융산업입니다.
 
Renat Fatkhullin :
이전 빌드의 2600 경고는 귀찮게하지 않습니다.

그러나 새 컴파일러가 발견한 2000개의 경고와 오류가 갑자기 컴파일러를 잘못 만들 수 있습니까?

코드에서 이 혼란을 처리하고 순서대로 배치하는 것이 좋습니다.

실제로 컴파일러가 코드의 문제에 대해 비명을 질렀을 때 그러한 진술을 하는 것은 이상합니다. 우리는 의도적으로 코드 품질에 대한 요구 사항을 높이고 기본적으로 문제를 숨기고 싶지 않습니다. 금융산업입니다.

모든 것을 함께 섞을 필요가 없습니다. 경고는 경고이고 오류는 오류입니다. 모두가 그 차이를 잘 이해하고 있습니다. 마지막 빌드까지 모든 것이 컴파일되었습니다. 그리고 우리에게 알리지 않고 비밀리에 컴파일러에 몇 가지 새로운 규칙을 도입했다면 내 코드가 정말로 이것에 대한 책임이 있습니까? 병든 머리에서 건강한 머리로 문제를 옮기는 이유는 무엇입니까?

"'숫자'에서 '문자열'로의 암시적 변환", "유형 변환으로 인한 데이터 손실 가능성", "기호 불일치" 등과 같은 경고만 있습니다. 저것들. 숫자/텍스트 유형을 서로 변환 하는 것입니다. 최신 컴파일러가 생성하는 오류와 어떤 관련이 있습니까?

유형이 없는 선언
기능 템플릿을 적용할 수 없습니다
예상되는
선언되지 않은 식별자
'*' - 포인터를 사용할 수 없습니다.
예상되는 클래스 유형
어떤 오버로드도 함수 호출에 적용할 수 없습니다.
개체 포인터가 필요함
세미콜론 예상

저것들. 언어의 구문에 약간의 변화가 있었던 것은 분명합니다. 그리고 모든 것이 침묵합니다. 그리고 여기에서 "코드 품질" 등에 대한 도덕성을 우리에게 읽어주고 평소와 같이 대화를 제쳐두고 있습니다.

 
Alexey Navoykov :

모든 것을 섞을 필요는 없습니다. 경고는 경고이고 오류는 오류입니다. 모두가 그 차이를 잘 이해하고 있습니다. 마지막 빌드까지 모든 것이 컴파일되었습니다. 그리고 우리에게 알리지 않고 비밀리에 컴파일러에 몇 가지 새로운 규칙을 도입했다면 내 코드가 정말로 이것에 대한 책임이 있습니까? 병든 머리에서 건강한 머리로 문제를 옮기는 이유는 무엇입니까?

"'숫자'에서 '문자열'로의 암시적 변환", "유형 변환으로 인한 데이터 손실 가능성", "기호 불일치" 등과 같은 경고만 있습니다. 저것들. 숫자/텍스트 유형을 서로 변환 하는 것입니다. 최신 컴파일러가 생성하는 오류와 어떤 관련이 있습니까?

유형이 없는 선언
기능 템플릿을 적용할 수 없습니다
예상되는
선언되지 않은 식별자
'*' - 포인터를 사용할 수 없습니다.
예상되는 클래스 유형
어떤 오버로드도 함수 호출에 적용할 수 없습니다.
개체 포인터가 필요함
세미콜론 예상

저것들. 언어의 구문에 약간의 변화가 있었던 것은 분명합니다. 그리고 모든 것이 침묵합니다. 그리고 여기에서 "코드 품질" 등에 대한 도덕성을 우리에게 읽어주고 평소와 같이 대화를 제쳐두고 있습니다.

2600개의 경고가 있는 경우 모든 경고가 무해하다고 보장할 수 있습니다.

머리에 대해 아픈 머리만 너무 많은 경고를 허용할 수 있으며 이것이 정상이며 여전히 다운로드할 권리가 있다고 생각할 수 있습니다.

 
Alexey Navoykov :

모든 것을 함께 섞을 필요가 없습니다. 경고는 경고이고 오류는 오류입니다. 모두가 그 차이를 잘 이해하고 있습니다. 마지막 빌드까지 모든 것이 컴파일되었습니다. 그리고 우리에게 알리지 않고 비밀리에 컴파일러에 몇 가지 새로운 규칙을 도입했다면 내 코드가 정말로 이것에 대한 책임이 있습니까? 병든 머리에서 건강한 머리로 문제를 옮기는 이유는 무엇입니까?

"'숫자'에서 '문자열'로의 암시적 변환", "유형 변환으로 인한 데이터 손실 가능성", "기호 불일치" 등과 같은 경고만 있습니다. 저것들. 숫자/텍스트 유형을 서로 변환 하는 것입니다. 최신 컴파일러가 생성하는 오류와 어떤 관련이 있습니까?

유형이 없는 선언
기능 템플릿을 적용할 수 없습니다
예상되는
선언되지 않은 식별자
'*' - 포인터를 사용할 수 없습니다.
예상되는 클래스 유형
어떤 오버로드도 함수 호출에 적용할 수 없습니다.
개체 포인터가 필요함
세미콜론 예상

저것들. 언어의 구문에 약간의 변화가 있었던 것은 분명합니다. 그리고 모든 것이 침묵합니다. 그리고 여기에서 "코드 품질" 등에 대한 도덕성을 우리에게 읽어주고 평소와 같이 대화를 제쳐두고 있습니다.

동지, 여기에서 컴파일러에 계속 물을 주실 건가요, 아니면 MQL에 20행 이상의 작품을 가져올 수 있습니까? 당신이 어떤 종류의 지옥 같은 쓰레기를 썼는지 알 수 없습니다. 아니면 모든 텔레파시가 당신의 말을 듣고 슬픈 눈을 하고 이 모든 말도 안되는 소리에 동의하기 위해 여기에 있어야 한다고 생각하십니까?

오류를 일으키는 특정 코드 는 어디에 있습니까?

 
Alexey Navoykov :

모든 것을 함께 섞을 필요가 없습니다. 경고는 경고이고 오류는 오류입니다. 모두가 그 차이를 잘 이해하고 있습니다. 마지막 빌드까지 모든 것이 컴파일되었습니다. 그리고 우리에게 알리지 않고 비밀리에 컴파일러에 몇 가지 새로운 규칙을 도입했다면 내 코드가 정말로 이것에 대한 책임이 있습니까? 병든 머리에서 건강한 머리로 문제를 옮기는 이유는 무엇입니까?

난 방해하지 않아. 논스톱 프로그래밍의 26년 뒤에.

금융 부문에 대해 이야기하는 경우 경고는 본질적으로 오류입니다. 그리고 "부호 손실, 정밀도 손실, 캐스트 손실 등"에 대한 수천 개의 메시지는 모두 코드 품질에 대한 문장입니다. 분명히, 당신은 결과를 완전히 이해하지 못합니다.

컴파일러가 오류로 표시한 코드를 충분히 완전한 형태로 제공하십시오.

이것이 없으면 전체 토론이 보기 흉하고 공정하지 않게 보입니다.

 

전문가의 로그에서 오류를 발견했습니다.

알 수 없는 명령 E0

무슨 뜻인가요?

 

레나트 파트훌린 :

MQL5에 네임스페이스 메커니즘을 도입하십시오. 그것이 얼마나 유용한지 스스로 이해하실 것입니다. 그렇지 않으면 선언에서 동일한 이름을 비활성화하기 위해 목발을 매크로 형태로 삽입하는 것이 우아해 보이지 않습니다. :)

 
Renat Fatkhullin :

...

금융 부문에 대해 이야기하는 경우 경고는 본질적으로 오류입니다. 그리고 "부호 손실, 정밀도 손실, 캐스트 손실 등"에 대한 수천 개의 메시지는 모두 코드 품질에 대한 문장입니다. 분명히, 당신은 결과를 완전히 이해하지 못합니다.

...
프로젝트의 특정 수준의 복잡성에서 시작하여 경고는 일반 컴파일 시간 오류보다 훨씬 더 악몽 같은 결과를 초래한다고 덧붙입니다. 경고의 교활함은 프로그램이 경고와 함께 작동하지만 갑자기 다른 상황에서 수정하기 매우 어려운 기적이 시작된다는 것입니다.