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

 

구문 오류

 struct S {};
class A {
         int S() { return 1 ; }
         int f() { return S(); } //syntax error, если нет уточнения A::S() //а обязательно ли оно ???
};
그리고 다음과 같이:
 struct S {};
class A {
         void S() {}
         void f() { S(); }
};
좋습니다. 컴파일러는 A::S()가 의미하는 바를 이해하고 명시적으로 언급할 필요가 없습니다.
 

전문가 여러분, 사용자 지정 MA 표시기 (첨부)에서 " 적용 대상: ... " 기능을 구현하는 방법은 무엇입니까?

표준 이동 평균 지표 - " 적용 대상: 첫 번째 지표의 데이터 "에서 어떻게 될까요?

포럼에서 이 질문을 했습니다. 아무도 MQL에서 이러한 구현 가능성을 알지 못하거나 말할 수 없습니다.

그리고 즉시 개발자에게 질문합니다-내장 표준 표시기의 코드가 닫혀 있고 수정할 수 없는 이유는 무엇입니까?

파일:
MAchannel.mq4  7 kb
 
컴파일러 오류: 상수를 수정할 수 없습니다.
 class A {};
class B { public :
         const A *a; //здесь не - const A * const a
};
class C { public :
        B b;
         void f( const A *aa ) { this .b.a = aa; } //'a' - constant cannot be modified
};

후자가 (const A *)로 선언되고 클래스 멤버의 멤버인 경우 포인터에 포인터를 할당할 수 없습니다.

클래스의 구성원일 뿐이라면 괜찮습니다.

 class A {};
class C { public :
         const A *a;
         void f( const A *aa ) { this .a = aa; } //нормально
};
 
런타임 에러
 #define PRN             Print ( __FUNCSIG__ )
class A { public :
        A()       { PRN; }
         void F1() { PRN; }
         void g()  { F1(); PRN; } //здесь пропускает вызов A::F1()
};
class F1 { public :
        F1()     { PRN; }
        ~F1()    { PRN; }
};
void OnStart ()
{
        A a;
        a.g();
}
 

나는 명시적 생성자 호출의 다소 드문 경우로 이전 메시지를 보완할 것입니다.

 #define PRN             Print ( __FUNCSIG__ )
class A { public :
        A()       { PRN; }
         void g()  { F1::F1(); PRN; } //ошибка компиляции в то время как С++ вызывает безымянные конструктор и деструктор как если бы было ниже
         void f()  { F1 f1;    PRN; } //нормально
};
class F1 { public :
        F1()     { PRN; }
        ~F1()    { PRN; }
};
void OnStart ()
{
        A a;
        a.g();
        a.f();
}
 
#과 define, ifdef, ifndef, endif, else, undef 사이에 공백과 탭을 추가하는 것이 좋습니다.
 #ifdef MACRO
#       define MACRO1
#else
#       define MACRO2
#endif
조건이 복잡한 경우 들여쓰기로 읽는 것이 훨씬 편리합니다.
 

#define 뒤에 주석이 가능한 경우가 있습니다.

 #define /*MICRO*/ SOFT //ошибка компиляции
 
A100 :

#define 뒤에 주석이 가능한 경우가 있습니다.

피드백 감사합니다. 검토해 보겠습니다.
 

아이콘의 선명도가 많이 떨어졌습니다.

빌드 1060 이었습니다

빌드 1100이 되었습니다.

명확성을 희생하면서 크기를 늘려야 합니까?

 
A100 :

아이콘의 선명도가 많이 떨어졌습니다.

빌드 1060 이었습니다

빌드 1100이 되었습니다.

어떤 화면이 있습니까? 해상도는 무엇입니까? 설정에서 텍스트 크기(%)는 얼마로 설정되어 있습니까?