Erreurs, bugs, questions - page 1923

 
A100:

L'aide dit cela : Si aucune valeur initiale n'est spécifiée, les variables de classe de mémoire statique prennent des valeurs initiales nulles.

Dans le cas des gabarits, j'ai une idée approximative de l'origine des jambes, d'où la compréhension qu'il n'est pas possible d'ajouter simplement une ligne de gabarit dans toutes les situations.

Techniquement, c'est probablement une erreur. Cependant, je pense que le texte cité dans la documentation a été écrit bien avant l'apparition des modèles et est quelque peu inexact.

 
fxsaber:

Bien que je pense que le texte cité dans la documentation a été écrit bien avant que les modèles soient disponibles et est quelque peu inexact.

Dans la documentation, on trouve l'entrée inverse :"Un membre statique de la classe doit être initialisé explicitement avec la valeur requise". Seul le template n'a pas d'incidence sur ce point - une erreur doit donc être générée ou non dans les deux cas (avec et sans template) - d'où une contradiction.
 
MetaTrader 5 build 1619 started (MetaQuotes Software Corp.)
Microsoft Windows XP (X86 based PC), IE 08.00, Intel Core2 Duo  T7700 @ 2.40 GHz, RAM: 2359 / 3581 Mb, HDD: 17612 / 27784 Mb, GMT+02:00
C:\Program Files\MetaTrader 5

MetaEditor ne fonctionne plus après la mise à jour, donnant cette erreur


1616 a bien fonctionné, 1619 non.

Dans le journal du terminal après avoir appuyé sur F4

2017.07.07 12:00:30.109 Error   MetaEditor not found
2017.07.07 12:39:54.296 Error   MetaEditor not found
 
A100:

Je ne comprends pas bien le sens de votre IMHO. Prenez la version <= 1596 (32bit) et vérifiez (les sorties dans le fichier .log sont immédiates [5-10 secondes], même une ligne). Je l'ai vérifié il y a une minute.

[quel cache ? quel toujours ? il y avait quelque chose à propos de quelque chose quelque part !?!]

Je parle de l'onglet Experts et du dossier MQL5\Logs\.

Je pense qu'il a été écrit par délicatesse innée - un soupçon subtil d'incohérence dans nos expériences. Pour moi, 5-10 secondes, ce n'est pas du tout immédiat. Et ce délai ne se limite pas toujours à quelques secondes d'après mes observations.

[La question de la journalisation différée a déjà été discutée sur ce forum - si c'est vraiment important pour vous, recherchez-le].

 
Stanislav Korotky:

Pour moi, 5-10 secondes, ce n'est pas du tout immédiat. Et ce délai n'est pas toujours limité à quelques secondes selon mes observations.

Il était auparavant de 5-10 secondes (peut-être plus dans certains cas), et maintenant sans le menu View - les journaux ne sont pas mis à jour du tout ( !) (puisque le début de la journée a passé plusieurs heures, et le fichier est zéro, alors que l'onglet Experts a de nouvelles lignes pour la journée). L'enregistrement normal est perturbé au profit d'une accélération mythique du terminal de quelques nanosecondes.
 

Erreur de compilation

struct A {
        A() {}
        int aa;
};
struct B {
        static A a;
};
A B::a;
template<typename T>
struct C {
        static T a;
};
template<typename T>
T C::a;
void OnStart()
{
        B    x1;
        Print( x1.a.aa ); //нормально
        C<A> x2;
        Print( x2.a.aa ); //unresolved static variable 'C<A>::a'
}
Cela ressemble au cas précédent https://www.mql5.com/ru/forum/1111/page1943#comment_5410554 mais vous ne pouvez pas cacher l'erreur ici en spécifiant T C::a = 0 ; // A::A( int ) est manquant.
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2017.07.06
  • www.mql5.com
Форум алго-трейдеров MQL5
 

Erreur pendant l'exécution

void OnStart()
{
        string text = "1234\0";
        Print(  "1>'",    text, "'" ); //не выводит завершающую кавычку
        printf( "2>'%s'", text );      //нормально
}

Résultat :

1>'1234
2>'1234'

 

Erreur de compilation

#define  MACRO( x )      Print( x )
void OnStart()
{
        MACRO/**/( 10 ); //error: '' - argument expected for the function-like macro
}
 

Le contraire était attendu

class A {};
struct B {
        const A *       a1;   //(1) есть сообщение об ошибке
              A * const a2;   //(2) нет сообщения
};
void OnStart()
{
        B b1;
        B b2;
        b2 = b1; //error: '=' - not allowed for objects with protected members or inheritance
}
  1. Si la structure B ne contient que la ligne (1) - il y a un message d'erreur
  2. Si la structure B ne contient que la ligne (2) - pas de message d'erreur
  3. Le contraire était attendu

De plus, aucune erreur n'était prévue dans les deux cas (1. et 2.).

void OnStart()
{
        B b1;
        B b2 = b1; //error: '=' - not allowed for objects with protected members or inheritance
}
 

MT5 se bloque lors des tests.

Construire 1625

L'effondrement de MT5 en cours de test.

Observé sur 2 machines. Windows7 x64.