On ne peut pas réparer quelque chose qui ne contient pas d'erreur. Regardez dans le fichier <Indicator.mqh> - il y aura la classe CIndicator sans la lettre s
A100: Vous ne pouvez pas réparer quelque chose qui ne contient pas d'erreur. Regardez dans le fichier <Indicator.mqh> - il y aura la classe CIndicator sans la lettre s.
Écrivez au RS à ce sujet. Ils affirment (pas moi) qu'il y a une erreur et qu'elle sera corrigée.
Écrivez au RS à ce sujet. Ils affirment (pas moi) qu'il y a un bogue et qu'il sera corrigé.
Vous avez indiqué le bug à l'origine - pouvez-vous expliquer ce que c'est ? Quel est le problème ? Voici le code simplifié :
class A1 {}; //Indicatorsclass A2 {}; //Indicatorclass BB {
public:
void f( A1 * ) {}
};
class B : public BB {
public:
void f( A1 * ) {}
};
voidOnStart()
{
A2* a;
B b;
b.f( a ); //error: 'f' - no one of the overloads can be applied to the function call
}
// Добавление элемента в конец произвольного массиваtemplate <typename T>
void AddArrayElement( T &Array[], T Value, constint Reserve = 0 )
{
constint Size = ArraySize(Array);
ArrayResize(Array, Size + 1, Reserve);
Array[Size] = Value;
}
class A {};
class B : public A {};
voidOnStart()
{
A* Array[];
A* a = new B; // no problem
AddArrayElement(Array, (A*)(new B)); // no problem
AddArrayElement(Array, new B); // template parameter ambiguous, could be 'A*' or 'B*'
}
class B;
class A
{
protected:
int i;
public:
voidoperator =( const B* Value )
{
this.i = Value.i; // 'i' - protected member access error// А так можно!this.i = ((A*)Value).i; // и нет ошибки: cannot convert from const pointer to nonconst pointer
}
};
class B : public A {};
Je pensais que la situation serait la même dans les deux cas. Mais non !
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
L'erreur dans le code utilisateur n'est pas un bug : la méthode InitIndicators(CIndicator *) est manquante.
La lettre s est manquante, mais le message du compilateur est erroné, donc le SD a entrepris de le corriger.
Les SD se sont chargés de le réparer.
Vous ne pouvez pas réparer quelque chose qui ne contient pas d'erreur. Regardez dans le fichier <Indicator.mqh> - il y aura la classe CIndicator sans la lettre s.
Écrivez au RS à ce sujet. Ils affirment (pas moi) qu'il y a une erreur et qu'elle sera corrigée.
Écrivez au RS à ce sujet. Ils affirment (pas moi) qu'il y a un bogue et qu'il sera corrigé.
Vous avez indiqué le bug à l'origine - pouvez-vous expliquer ce que c'est ? Quel est le problème ? Voici le code simplifié :
Écrivez au RS à ce sujet. Ils affirment (pas moi) qu'il y a une erreur et qu'elle sera corrigée.
Le compilateur traite la méthode virtuelle override comme une surcharge, nous allons corriger cela.
C'est un bug ?
Comment connaître le nom d'un fichier à partir de son identifiant ?
Je pensais que la situation serait la même dans les deux cas. Mais non !