marketeer : 다음 상황을 설명해 주십시오. 다중 통화 칠면조가 있으며, 그 값은 배치된 차트에 따라 변경되지 않습니다. 지정된 기호에 대한 값을 계산하고 현재 창과 어떤 식으로든 연결되지 않습니다. 이 칠면조에서는 지지선과 저항선과 같은 물체를 수동으로 그립니다. 이제 트릭: Market Watch에서 다른 악기를 창으로 드래그하면 칠면조 모양은 그대로 유지되지만 선은 사라집니다. 개체 목록 대화 상자를 호출하면 이러한 개체가 여전히 거기에 나열됩니다. 끝점의 값(날짜 및 값)은 동일하게 유지됩니다(즉, 동일한 위치에서 볼 수 있어야 함). 이는 이해할 수 있으며 아무도 변경하지 않았습니다. 그러나 선은 보이지 않습니다. 그런 다음 원래 있던 이전 도구를 창으로 드래그하면 선이 다시 표시됩니다. 문제가 무엇입니까?
찾아서 수정했습니다.
의견을 보내 주셔서 감사합니다. 그것은 일반적인 잼으로 판명되었습니다. 이전에는 항상 그렇게 작동했습니다.
예를 들어 operator+()를 사용하면 컴파일 오류 가 발생하지 않으며 전혀 사용되지 않는 위의 첫 번째 예제에 operator+()를 추가해도 발생하지 않습니다.
class A {
public :
booloperator !() { return ( false ); }
booloperator +() { return ( false ); }
};
그러나 또 다른 불확실성이 발생합니다
class A {
public :
booloperator !() { return ( true ); }
booloperator +() { return ( true ); }
};
int g( A& a ) { return ( 10 ); }
int g( int ) { return ( 20 ); }
voidOnStart ()
{
A *a = new A;
Print ( !a ); //здесь считает 'a' - числом ???
Print ( a.operator!() ); //здесь не считает (что правильно) 'a' - числомPrint ( g( a ) ); //здесь не считает (что правильно) 'a' - числом, хотя есть g( int ) и нет g( A* )
}
MQL4용 표준 라이브러리 , 특히 표시기 클래스에 오류가 있습니다.
CiATR 클래스에는 GetData 메서드 본문이 없습니다.
ENUM_APPLIED_VOLUME 유형 매개변수( CiForce , CiOBV )를 사용하는 표시기의 경우 오류가 생성됩니다. 부적절한 열거자를 사용할 수 없습니다.
그건 그렇고, ENUM_APPLIED_VOLUME은 정규 열거형인 것처럼 MQL4 문서에 있지만 실제로는 그렇지 않습니다( 'ENUM_APPLIED_VOLUME' - undeclared identifier ).
일반적으로 모든 라이브러리를 확인하십시오. 그리고는 실적 확인도 하지 않은 채 MT5에서 급히 이적한 느낌이 있다.
컴파일 오류 , 빌드 966
빌드 932에서는 모든 것이 정상입니다.댓글 내용에 따라 다름
모든 것이 괜찮다
주석은 대체되지 않습니다. 컴파일러는 단순히 주석을 무시합니다. 그렇지 않으면 대부분의 경우 #define을 주석과 함께 사용할 수 없습니다 //
어쨌든 https://www.mql5.com/ru/forum/1111/page1190#comment_993854 에서 //를 /**/로 바꿉니다.동일한 결과 - 컴파일 오류
다음 상황을 설명해 주십시오. 다중 통화 칠면조가 있으며, 그 값은 배치된 차트에 따라 변경되지 않습니다. 지정된 기호에 대한 값을 계산하고 현재 창과 어떤 식으로든 연결되지 않습니다. 이 칠면조에서는 지지선과 저항선과 같은 물체를 수동으로 그립니다. 이제 트릭: Market Watch에서 다른 악기를 창으로 드래그하면 칠면조 모양은 그대로 유지되지만 선은 사라집니다. 개체 목록 대화 상자를 호출하면 이러한 개체가 여전히 거기에 나열됩니다. 끝점의 값(날짜 및 값)은 동일하게 유지됩니다(즉, 동일한 위치에서 볼 수 있어야 함). 이는 이해할 수 있으며 아무도 변경하지 않았습니다. 그러나 선은 보이지 않습니다. 그런 다음 원래 있던 이전 도구를 창으로 드래그하면 선이 다시 표시됩니다. 문제가 무엇입니까?
찾아서 수정했습니다.
의견을 보내 주셔서 감사합니다. 그것은 일반적인 잼으로 판명되었습니다. 이전에는 항상 그렇게 작동했습니다.
연산자 !() 약식을 사용할 수 없음 - 컴파일 오류
컴파일러가 f4( a )가 'a'가 객체를 의미하고 포인터 설명자가 아니라는 것을 이해하는 경우 \
그런 다음 !a는 'a'(포인터\설명자가 아닌 개체 - 숫자와 같은 의미)와 동일하다는 것을 이해해야 합니다.
즉, 만약
표기법 a1.f() 및 a2.f()는 a1, a2가 포인터인지 객체인지에 관계없이 동일한 것을 의미합니다. 연산자 !()가 더 나쁜 이유는 무엇입니까?예를 들어 operator+()를 사용하면 컴파일 오류 가 발생하지 않으며 전혀 사용되지 않는 위의 첫 번째 예제에 operator+()를 추가해도 발생하지 않습니다.
그러나 또 다른 불확실성이 발생합니다