Errori, bug, domande - pagina 1298

 

errore di sintassi

struct S {};
class A {
        int S() { return 1; }
        int f() { return S(); } //syntax error, если нет уточнения A::S() //а обязательно ли оно ???
};
ma in questo modo:
struct S {};
class A {
        void S() {}
        void f() { S(); }
};
OK, quindi il compilatore capisce che A::S() è implicito e non deve essere dichiarato esplicitamente
 

Cari esperti, come implementare la funzione"Apply to: ..." nell'indicatore MA personalizzato (allegato)? " ?

per essere come nell'indicatore standard della media mobile -"Applica a: primi dati dell'indikatore".

Ho fatto questa domanda sui forum, nessuno sa o dice che questa possibilità non è disponibile in MQL.

E una domanda agli sviluppatori - perché i codici degli indicatori standard integrati sono chiusi e non possono essere modificati?

File:
MAchannel.mq4  7 kb
 
Errore di compilazione: la costante non può essere modificata
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
};

non potete assegnare un puntatore a un puntatore se il puntatore è dichiarato come (const A *) ed è un membro di una classe

ma se è solo un membro della classe, allora va bene

class A {};
class C { public:
        const A *a;
        void f( const A *aa ) { this.a = aa; } //нормально
};
 
Errore di esecuzione
#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();
}
 

Completerò il post precedente con un caso piuttosto raro di una chiamata esplicita al costruttore

#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();
}
 
Sarebbe auspicabile aggiungere la possibilità di spazi e tabulazioni tra # e define, ifdef, ifndef, endif, else, undef
#ifdef  MACRO
#        define MACRO1
#else
#        define MACRO2
#endif
Se le condizioni sono complesse, è molto più facile da leggere con l'indentazione
 

Dopo #define a volte sono possibili commenti

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

Dopo #define a volte sono possibili commenti

Grazie per aver chiesto, ce ne occuperemo
 

Le icone hanno perso significativamente la loro chiarezza

Era costruire 1060

Divenuta build 1100

Devo aumentare le dimensioni a scapito della chiarezza?

 
A100:

Le icone hanno perso significativamente la loro chiarezza

Era costruire 1060

Divenuta build 1100

Che schermo stai usando? Quale risoluzione? Quale % di dimensione del testo è impostata nelle impostazioni?
Motivazione: