분명히 int 를 long 유형으로 또는 그 반대로 변환하는 것이 있습니다. 아마도 매개변수의 수 또는 다시 로드 기능으로 자동 변환되지 않는 유형에 의해서만 가능할 것입니다.
추신: long 에서만 작동합니다. 매개변수로 전달된 int는 자동으로 long으로 변환됩니다.
같은 노래.
class CA
{
public :
voidset ( long i, long j, long n){Print( "перегрузка long" );};
voidset ( long i, long j, int n){Print( "перегрузка int" );};
};
void OnStart()
{
//---
CA a;
int Int= 3 ;
long Long= 4 ;
a. set ( 1 , 2 ,Int);
a. set ( 1 , 2 ,Long);
}
class CA
{
public :
voidset ( int i, int j, long n){Print( "перегрузка long" );};
voidset ( int i, int j, int n){Print( "перегрузка int" );};
};
void OnStart()
{
//---
CA a;
int Int= 3 ;
long Long= 4 ;
a. set (( int ) 1 ,( int ) 2 ,Int);
a. set (( int ) 1 ,( int ) 2 ,Long);
}
죄송합니다. 이제 2주 동안 MT5를 시작하지 않았습니다. 지난 세 번의 업데이트 이후에 화가 난 게시물이 너무 많아서 컴파일러가 작동하지 않거나 빌드가 잘못되었다는 사실을 알아차리기조차 꺼려집니다.
이와 같이:
class CA
{
public :
voidset ( int i, int j, long n){Print( "перегрузка long" );};
voidset ( int i, int j, double x){Print( "перегрузка double" );};
};
void OnStart()
{
//---
CA a;
int Int= 3 ;
double doubl= 4 ;
a. set ( 1 , 2 ,Int);
a. set ( 1 , 2 ,doubl);
}
이것은 클래스 방식이다.
https://www.mql5.com/ru/docs/standardlibrary/technicalindicators/cindicator
#include <Indicators\Indicator.mqh>
분명한. 분명히 denkir 는 #include <Indicators\Indicator.mqh> 를 선언하지 않았습니다.
그러나 이 기능은 여전히 디렉토리를 검색하여 찾을 수 없습니다.
그렇다면 컴파일러는 호출의 모호성이 무엇이라고 맹세합니까?
분명히 int 를 long 유형으로 또는 그 반대로 변환하는 것이 있습니다. 아마도 매개변수의 수 또는 다시 로드 기능으로 자동 변환되지 않는 유형에 의해서만 가능할 것입니다.
추신: long 에서만 작동합니다. 매개변수로 전달된 int는 자동으로 long으로 변환됩니다.
분명히 int 를 long 유형으로 또는 그 반대로 변환하는 것이 있습니다. 아마도 매개변수의 수 또는 다시 로드 기능으로 자동 변환되지 않는 유형에 의해서만 가능할 것입니다.
추신: long 에서만 작동합니다. 매개변수로 전달된 int는 자동으로 long으로 변환됩니다.
같은 노래.
그 본질은 예외 없이 모든 유형에 대한 함수 오버로딩을 만드는 것이었습니다.
그리고 유형이 코드 값 i 및 j와 일치하지 않으면 경고를 발행합니다.
개발자 여러분, 오버로드된 함수 호출의 모호성이 무엇인지 답변해 주십시오(컴파일러가 맹세한 내용입니다).
'set' - 오버로드된 함수에 대한 모호한 호출
예, 실수입니다. 빌드 릴리스 후에 수정하겠습니다.
당신이 그것을 사용할 수 있는 한
int와 long을 오버로드하는 것뿐만 아니라 모든 유형의 오버로드에도 문제가 없습니다.
컴파일러가 어떻게든 매개변수의 명시적 설정을 특별한 방식으로 처리한다는 것뿐입니다.
죄송합니다. 이제 2주 동안 MT5를 시작하지 않았습니다. 지난 세 번의 업데이트 이후에 화가 난 게시물이 너무 많아서 컴파일러가 작동하지 않거나 빌드가 잘못되었다는 사실을 알아차리기조차 꺼려집니다.
이와 같이:
작동, 빌드 362
예, 실수입니다. 빌드 릴리스 후에 수정하겠습니다.
당신이 그것을 사용할 수 있는 한
분명한. 분명히 denkir 는 #include <Indicators\Indicator.mqh> 를 선언하지 않았습니다.
그러나 이 기능은 여전히 디렉토리를 검색하여 찾을 수 없습니다.
충분하지 않다!
이것은 외부 클래스 메소드입니다!!!
충분하지 않다!
이것은 외부 클래스 메소드입니다!!!
아마도 이것을 추가해야 할 것입니다:
그러나 나는 언급 된 클래스의 객체 가 필요하지 않습니다 . 그리고 내가 설명한 기본 유형 string 에 대한 간단한 함수가 필요합니다.
아마도 이것을 추가해야 할 것입니다:
그러나 나는 언급 된 클래스의 객체 가 필요하지 않습니다 . 그리고 내가 설명한 기본 유형 string 에 대한 간단한 함수가 필요합니다.
반복합니다: 저는 수업의 전문가가 아닙니다. 하지만 PeriodStr 메서드인 클래스 메서드에 도달하려면 해당 클래스를 선언해야 합니다. 이 경우 CIndicator 클래스( MQL5 Reference / Standard Library / Classes for Working with Indicators / Base Classes / CIndicator ). 안 그래?