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

 

2310
이상한 행동.
네 번째 매개변수부터 시작하여 배열을 설정하거나 다섯 번째, 여섯 번째 등으로 설정하면

 void Func( int arg1, int arg2, int arg3= 0 , double & array[])
{
 
}

그런 다음 컴파일러에서 오류가 발생합니다.

 'array' - missing default value for parameter

첫 번째, 두 번째 또는 세 번째 매개변수로 배열을 재배열했는데 오류가 없습니다.

 void Func( int arg1, int arg2, double & array[] int arg3= 0 )
{
 
}


두 번째 이상한 행동.
F5로 편집기에서 컴파일 후 스크립트는 종종 실행을 위해 실행됩니다.

 
Roman :

2310
이상한 행동.
네 번째 매개변수부터 시작하여 배열을 설정하거나 다섯 번째, 여섯 번째 등으로 설정하면

그런 다음 컴파일러에서 오류가 발생합니다.

첫 번째, 두 번째 또는 세 번째 매개변수로 배열을 재배열했는데 오류가 없습니다.


두 번째 이상한 행동.
편집기에서 F5를 누르면 컴파일 후 프로그램이 실행되는 경우가 많습니다.

매개변수 중 하나에 기본값이 있으면 모든 후속 매개변수에도 기본값이 있어야 합니다.

 void Func( int arg1, int arg2, int arg3 = 0 , double & array[]  )
{
 
}

이 동작은 원래 있었습니다.

그리고 여기서 요점은 배열이 아니라 마지막 인수가 가지는 기본값에 있습니다. 모든 후속 작업은 동일한 방식으로 있어야 합니다.

 void Func( int arg1, int arg2, double & array[] int arg3 = 0 )
{
 
}
 
Artyom Trishkin :

매개변수 중 하나에 기본값이 있으면 모든 후속 매개변수에도 기본값이 있어야 합니다.

이 동작은 원래 있었습니다.

그리고 여기서 요점은 배열이 아니라 마지막 인수가 가지는 기본값에 있습니다. 모든 후속 작업은 동일한 방식으로 있어야 합니다.

설명 감사합니다만 동작이 이상합니다))

 
Artyom Trishkin :

아직 블로그에 대한 평가가 충분하지 않다는 의미입니다.

그것에 대해 어디에서 읽을 수 있습니까? 어떤 등급이 필요합니까? 무엇을 해야 합니까?
 
Roman :

설명 감사합니다만 동작이 이상합니다))

당신에게서 그런 질문을 듣는 것은 이상합니다. 설명서는 명확하게 명시되어 있습니다


Документация по MQL5: Основы языка / Функции
Документация по MQL5: Основы языка / Функции
  • www.mql5.com
Всякая задача может быть разбита на подзадачи, каждую из которых можно либо непосредственно представить в виде кода, либо разбить на еще более мелкие подзадачи. Данный метод называется определения функции. Заголовок функции включает в себя описание типа возвращаемого значения, имени (идентификатора) и формальных параметров.  Количество...
 
Petros Shatakhtsyan :

테스터에서도 작동한다면 좋은 것입니다. 내가 확인 할게요.

아니오, 작동하지 않습니다.

그런데 서버 시간은 토요일에 멈추지 않습니다. 여기에서는 그 반대가 사실입니다. 터미널에서 새 견적이 도착하면 서버 시간이 업데이트됩니다. 예를 들어, Market Watch에는 하나의 기호만 열려 있습니다(테스터뿐만 아니라 현실에서도). 5초 동안 틱이 없습니다. 이 시간 동안에는 서버 타이머가 움직이지 않습니다. 이것이 토요일에 적용되는 방식입니다. 서버에서 시간이 똑딱거리고 있지만 터미널은 그것에 대해 알지 못하기 때문입니다. 진드기가 없습니다. 테스터는 이 기간을 건너뛸 것입니다.

 
Petros Shatakhtsyan :

그러나 나는 안식일을 어떻게 정할지 모릅니다. 결국 마켓이 닫히면 서버 타임이 멈춥니다.

무슨 목적을 위해? 주말에 자동 최적화를 실행하시겠습니까? 그런 다음 몇 분 거리에서 OnTik 의 타이머를 설정하는 것이 적합합니다. 작동하면 틱이 중지되고 최적화할 수 있습니다.

다른 목적이라면 명시하십시오.

 
Alexey Viktorov :

당신에게서 그런 질문을 듣는 것은 이상합니다. 설명서는 명확하게 명시되어 있습니다


Alexey에게 감사합니다. 이 문제에 대한 참고 서적을 살펴보지 않았을 뿐입니다.))
기본 매개 변수를 거의 사용하지 않기 때문에 여기에서는 필요했기 때문에 실행했습니다.
어떤 이유에서인지 나는 항상 매개변수에 우선 순위가 없다고 생각했지만, 그렇지 않습니다.

 

전달된 인수에서 행렬의 크기를 설정하는 방법을 아는 사람을 알려주십시오.
이것과 비슷한 것

 void MxResize( int row, int col)
{
   int A[][];      

   ArrayResizeRow(A, row);    
   ArrayResizeCol(A, col);      
}

아래 항목이 실패했습니다. - 잘못된 인덱스 값

void MxResize( int row=1, int col=1)
{
   int A[row][col];    
      
}
 
Roman :

전달된 인수에서 행렬의 크기를 설정하는 방법을 아는 사람을 알려주십시오.

https://www.mql5.com/en/forum/328008/page2#comment_14166682

Размерность многомерных динамических массивов через ArrayResize
Размерность многомерных динамических массивов через ArrayResize
  • 2019.12.09
  • www.mql5.com
Добрый день. Такой вопрос волнует: как использовать ArrayResize для двумерных динамических массивов...