Erreurs, bugs, questions - page 2259

 
A100:

Que signifie le A: : mis en évidence dans ce cas ?

La référence à un champ statique dans ce contexte. Mais je vois ce que vous voulez dire, merci.

 
A100:

Erreur de compilation (ME\1881\32)

Autrement :

c'est bon. Quelle est la différence ?

Malheureusement, nous ne corrigerons pas ce comportement dans un avenir proche.

C'est une "caractéristique" de l'implémentation des modèles dans MQL.

Avec ce code, vous devez instancier B avant A

 
A100:

Les macros n'ont rien à voir avec cela - remplacez-les par un pointeur normal et vous aurez exactement la même syntaxe :

En MQL, vous ne pouvez pas faire explicitement référence à b.A::x, alors qu'en C++ vous le pouvez. Pourquoi une telle restriction ?

Nous introduirons le support de l'étendue pour l'accès aux membres plus tard, lors de l'implémentation de l'héritage multiple à partir d'interfaces.

 
Ilyas:

lors de la mise en œuvre de l'héritage multiple à partir d'interfaces.

oooh, ça va arriver )

 

Voici une question, il y a une classe CMatrixDouble de МТ livraison : #include <Math\Alglib\matrix.mqh>

mais pas de méthode pour transposer une matrice, pour transposer une matrice en utilisant cette classe le plus rapidement possible, vous devez accéder au tableau dans la classe parent "row"classe CRowDouble:

class CRowDouble
  {
private:
   double            m_array[];

et copier simplement les lignes dans les colonnes

existe-t-il un moyen de rendre le tableau m_array[] ; accessibleavec le spécificateur d'accès public ( template ) ou tout autre "truc magique" ?

PS : et en général, M. les développeurs, pourquoi ne pouvons-nous pas implémenter au niveau de MQL le travail avec des tableaux dynamiques à deux dimensions, d'accord avec le cas commun des tableaux dynamiques multidimensionnels, mais les tableaux dynamiques à deux dimensions sont assez souvent nécessaires, nous avons constamment besoin de trouver quelque chose pour faire la chose élémentaire.
 
fxsaber:
Il y a une icône dans le coin supérieur droit qui dit que j'ai des MP non lus tout le temps. Il n'y a aucun moyen de le réinitialiser - lisez-le. Veuillez ajouter un bouton "Faire tout lire".

Laissez un onglet ouvert avec mql5.com, lisez le message et il se réinitialisera. Tant que plusieurs onglets sont ouverts, le compteur reste en permanence dans un autre onglet, inactif.

 
Andrey Khatimlianskii:

Laissez un onglet ouvert avec mql5.com, lisez le message et il se réinitialisera. Tant que plusieurs onglets sont ouverts, le compteur reste en permanence dans un autre onglet, inactif.

Malheureusement, la recette ne fonctionne pas.

 
fxsaber:

Malheureusement, la recette ne fonctionne pas.

Essayez de cliquer deux fois sur l'utilisateur dans le MP. Jusqu'à ce que le mot "messages non lus" disparaisse. Ça marche pour moi.

C'est-à-dire aller dans les messages, puis cliquer à nouveau sur cet utilisateur à droite.
 
Vladislav Andruschenko:
Essayez de double-cliquer sur l'utilisateur dans le LP. Jusqu'à ce que le mot "messages non lus" disparaisse. Ça marche pour moi.

C'est-à-dire aller dans les messages, puis cliquer à nouveau sur l'utilisateur à droite.

Déplacé sur un autre ordinateur, tout y est parfait. Quand je reviendrai à la précédente, j'essaierai. Merci pour la recommandation.

 

Une erreur de compilation :

template<typename T>
class A { protected:
        int x;
};
template<typename T>
class B : public A<T> {
        int x;
        void f() {
                int y = A<T>::x;     //нормально
                        A<T>::x = 0; //Error: '=' - semicolon expected
        } 
};
void OnStart()
{
        B<int> b;
}

Et sans le modèle, c'est très bien. Quelle différence cela fait-il ?