Moi, inattentif :) Pouvez-vous expliquer pourquoi cela est nécessaire ? Pourquoi ne peut-on pas utiliser le constructeur ?
Car en écrivant mon propre code, j'ai rencontré une situation où ma structure est impliquée dans une union. La solution d'un constructeur vide m'est immédiatement venue à l'esprit, mais le fait que mon code comporte une union m'a déçu. C'est pourquoi je posais cette question, non pas pour m'ennuyer, mais pour des raisons pratiques.
Je l'ai lancé, j'ai vu le problème. Il semble que seules les structures avec des champs publics soient autorisées avec des unions maintenant. Il serait alors possible d'écrire struct = {0} ;
Alexey Kozitsyn: Je l'ai lancé, j'ai vu le problème. Il semble que seules les structures avec des champs publics soient autorisées avec des unions maintenant. Il serait alors possible d'écrire struct = {0} ;
Peut-être ai-je encore mal compris, mais ce code fonctionne sans aucun avertissement :
struct STRUCT
{
//private:int i;
};
// Нужен только для того, чтобы показать необходимость решения без конструктора
union UNION
{
STRUCT Struct; // конструктора не должно бытьint i;
};
// Обходим Warning "possible use of uninitialized variable"template <typename T>
void StructInit( T& ) {}
STRUCT Func()
{
STRUCT Res = {0}; // ок!// StructInit(Res); // с этой строкой Warning не появляется, но это какой-то абсурд!return(Res);
}
voidOnStart()
{
Func();
}
Peut-être ai-je encore mal compris, mais ce code fonctionne sans aucun avertissement :
C'est vrai, les structures publiques sont initialisées. Mais le syndicat n'a rien à voir avec cela.
Il est intéressant de noter que si une structure dont le champ est caché devient un champ public d'une nouvelle structure, cette dernière ne s'initialise pas non plus, même si tous les champs sont ouverts.
Bonjour, pouvez-vous me dire s'il est possible de déclarer un tableau en spécifiant le nombre d'éléments qu'il contient avec une variable ? Si non, comment faire ?
externintPeriod = 10;
int Massiv[Period]; //Выдаёт ошибку: "invalid index value"
Bonjour, pouvez-vous me dire s'il est possible de déclarer un tableau en spécifiant le nombre d'éléments qu'il contient avec une variable ? Si non, comment faire ?
Bonjour, pouvez-vous me dire s'il est possible de déclarer un tableau en spécifiant le nombre d'éléments qu'il contient avec une variable ? Si non, comment faire ?
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.
Moi, inattentif :) Pouvez-vous expliquer pourquoi cela est nécessaire ? Pourquoi ne peut-on pas utiliser le constructeur ?
Ou est-ce pour montrer une erreur d'initialisation de structure avec un champ fermé ?
Moi, inattentif :) Pouvez-vous expliquer pourquoi cela est nécessaire ? Pourquoi ne peut-on pas utiliser le constructeur ?
Car en écrivant mon propre code, j'ai rencontré une situation où ma structure est impliquée dans une union. La solution d'un constructeur vide m'est immédiatement venue à l'esprit, mais le fait que mon code comporte une union m'a déçu. C'est pourquoi je posais cette question, non pas pour m'ennuyer, mais pour des raisons pratiques.
J'ai dû écrire ce twist pour éviter ce "bug" (est-ce un bug ou pas ?).
Jusqu'à présent, je n'ai pas vu d'autre solution.
Je l'ai lancé, j'ai vu le problème. Il semble que seules les structures avec des champs publics soient autorisées avec des unions maintenant. Il serait alors possible d'écrire struct = {0} ;
Ce n'est pas le cas.
Ce n'est pas le cas.
Peut-être ai-je encore mal compris, mais ce code fonctionne sans aucun avertissement :
Peut-être ai-je encore mal compris, mais ce code fonctionne sans aucun avertissement :
C'est vrai, les structures publiques sont initialisées. Mais le syndicat n'a rien à voir avec cela.
Il est intéressant de noter que si une structure dont le champ est caché devient un champ public d'une nouvelle structure, cette dernière ne s'initialise pas non plus, même si tous les champs sont ouverts.
Bonjour, pouvez-vous me dire s'il est possible de déclarer un tableau en spécifiant le nombre d'éléments qu'il contient avec une variable ? Si non, comment faire ?
Bonjour, pouvez-vous me dire s'il est possible de déclarer un tableau en spécifiant le nombre d'éléments qu'il contient avec une variable ? Si non, comment faire ?
https://www.mql5.com/ru/docs/array/arrayresize
Bonjour, pouvez-vous me dire s'il est possible de déclarer un tableau en spécifiant le nombre d'éléments qu'il contient avec une variable ? Si non, comment faire ?
ArrayResize()
fxsaber, Yury Kirillov, merci !