Erreurs, bugs, questions - page 716

 
MetaDriver:

Les variables globales ne doivent pas non plus être initialisées automatiquement. Vous êtes probablement juste "chanceux". Chanceux entre guillemets, car une telle chance entraîne un engouement ultérieur avec des revendications de gauche à l'égard des développeurs, du type "hier ça marchait et aujourd'hui ça ne marche plus. Votre plateforme est instable... !".

De l'aide. La portée des variables globales est l'ensemble du programme, les variables globales sont accessibles depuis toutes les fonctions définies dans le programme. Ils sont initialisés à zéro, sauf si une autre valeur initiale est explicitement spécifiée.

De telles erreurs se produisent lorsque vous essayez de manipuler des variables globales.

P.S. Vous devez avoir faim des questions idiotes des débutants, vous écrivez furieusement à ce sujet. C'est le compilateur, je pense, ne se soucie pas de ce que le code par volume, plus d'initialisation seulement le ralentir pour une fraction de seconde, et le testeur de stratégies est une autre question.

Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
 
sion:

De l'aide. La portée des variables globales est l'ensemble du programme, les variables globales sont accessibles depuis toutes les fonctions définies dans le programme. Ils sont initialisés à zéro, sauf si une autre valeur initiale est explicitement spécifiée.

Il y a aussi un lien ci-dessous Voir aussi sur Initialisation des variables.

Toute variable peut être initialisée lorsqu'elle est définie. Si la variable n'est pas explicitement initialisée, la valeur stockée dans cette variable peut être n'importe quoi. L'initialisation implicite n'est pas effectuée.

 

Initialisé à zéro, sauf si une autre valeur initiale est explicitement spécifiée.

L'initialisation implicite n'est pas effectuée.

Je ne sais pas quoi croire. Soit ils sont initialisés avec zéro si aucune valeur n'est explicitement spécifiée, soit l'initialisation implicite n'est pas effectuée. Ou quelque chose d'autre en général)

 
sion:

Je ne sais même pas quoi croire. Soit il est initialisé avec zéro si aucune valeur n'est explicitement définie, soit il n'est pas initialisé implicitement. Ou quelque chose d'autre en général).

Vous ne pouvez faire confiance à personne. Vous pouvez me faire confiance.

Pourquoi transformer la question de la culture de la programmation en une question de foi ? Vous ne faites pas d'initialisation explicite ? Les glitches viendront à vous tôt ou tard (et pas nécessairement dans mt5).

 
stringo:

Vous ne pouvez faire confiance à personne. Je peux (c) Müller

Pourquoi transformer la question de la culture de la programmation en une question de foi ? Vous ne faites pas d'initialisation explicite ? Les glitches viendront à vous tôt ou tard (et pas nécessairement dans mt5).

Faisons confiance à l'intuition. Mes derniers posts semblent être bien pour essuyer, l'eau n'est pas un sujet de discussion.
 
sion:
Faisons confiance à l'intuition. Vous pouvez probablement effacer mes derniers posts, l'eau n'est pas un sujet de conversation.

Pourquoi se fier à l'intuition dans un domaine aussi délicat ?

Il suffit d'initialiser toutes vos variables de manière explicite. La question de l'initialisation inutile dans certains cas n'est pertinente que pour les professionnels qui compriment les cycles d'horloge pour gagner des microsecondes.

 

construire 630

La fonctionArrayResize() (ArraySetAsSeries()=true)supprime un élément erroné lorsque la taille du tableau est réduite.

Elle supprime l'élément d'indice 0, alors qu'il devrait être le dernierélément du tableau, c'est-à-dire d'indice (n-1) où n est la taille du tableau.

Tout fonctionnait bien dans les versions de l'automne 2011.

 
MoneyJinn:

Erreur de ArrayResize() lors de la diminution de la taille du tableau lorsque ArraySetAsSeries() = true.

Supprime l'élément du mauvais côté du tableau.

Voulez-vous dire que "l'élément le plus ancien du tableau" (le plus à gauche) est supprimé ?
 

curwords=GetPointer(firstwords) ;
Print("next======",curwords.m_next!=NULL) ;
while(curwords.m_next!=NULL || curwords.length<pp){ curwords=GetPointer(curwords.m_next) ; }

lors du test d'un EA pour un mot en surbrillance, l'erreur indique unaccès invalide au pointeur dans 'iTester 7.mq5' (161,16) et s'arrête ensuite.

Quelle est l'astuce ici ?

si vous écrivez : while( firstwords.m_next!=NULL || curwords.length<pp){ curwords=GetPointer(curwords.m_next) ; } erreur déplace l'accès au pointeur invalide dans 'iTester 7.mq5' (161,43 )

 

fellow:

Quel est le piège ?


mots-clés = NULL