2011-05-07 4 views
0

내 라이브러리의 함수에 대한 기본값을 정의하는 방법을 이해할 수 없습니다. 기본값은 무시되는 경향이 있으며 "잘못된 매개 변수 개수"라는 오류 메시지가 나타납니다.Metatrader MQL4 : .mqh 파일의 함수 기본값을 정의 할 수 없습니다.

여기가 저의 예입니다.

#import "test.ex4" 
void test(int i = 0); // Note the default value for "i" 
#import 

가 지금은 간단한 전문가 "전문가 \ simpletest.mq4"를 만들 :

void test(int i = 0) // Note the default value for "i" 
{ 
} 

가 그럼 난 experts\include\test.mqh.mqh 파일 생성 : 나는 간단한 테스트 라이브러리 experts\libraries\test.mq4 만들어

#include <test.mqh> 
int start() 
{ 
    // Should be able to call test() function without providing any arguments, 
    // because it has default value. 
    // If I change this line to test(0), everything compiles correctly 
    test(); // Causes "wrong parameters count" compilation error 

    return(0); 
} 

을 그리고 test() 함수 호출에 다음과 같은 오류가 발생합니다.

')'- 내가 가지고 있기 때문에, I (0), 모든 컴파일 시험이 함수 호출을 변경하면 잘못된 매개 변수가

를 계산,하지만 난 매개 변수를 제공하지 않고 테스트() 함수를 호출 할 수 있어야한다 .mqh 파일의 첫 번째 매개 변수에 대한 기본값은 다음과 같습니다. void test (int i = 0); 기본값을 사용하지 않는 이유는 무엇입니까?

Google에서 단서를 검색하지만이 문제에 대한 참조를 찾을 수 없습니다. 아무도 몰라? MQL Documentation에 명시된 바와 같이

답변

4

이 수 없습니다 : 다른 모듈에서 수입

MQL4 라이브러리 기능을 기본 값으로 초기화 매개 변수를 가질 수 없습니다.