Pourquoi est-ce que ça compile ? C'est utilisé même AVANT que le corps du constructeur soit appelé.
Pourquoi ne pas inclure une liste d'initialisation dans le corps ? Au sens figuré, un objet de classe (y compris celui-ci) est initialisé au signe " :".
Chers modérateurs, si un produit (indicateur) payant sur le marché peut être rendu gratuit, est-il possible d'afficher et de discuter ouvertement de son travail sur le forum sans craindre d'être banni ? Ou, quelle est la meilleure façon de procéder ?
Yousufkhodja Sultonov: Chers modérateurs, si un produit (indicateur) payant sur le marché peut être rendu gratuit, est-il possible d'afficher et de discuter ouvertement de son travail sur le forum sans craindre d'être banni ? Ou, qu'est-ce que je devrais faire ?
Toute publicité est interdite, vous serez banni immédiatement. il est préférable de ne pas prendre le risque.
class A {}; class B { public: staticint k; }; int B::k = 0; #define MACRO( classC, classB ) \ class classC : public classB { \ public: \ classC( A *aa ) : a( aa ) {} \ //(1) A *a; \ //(2) int f( int i ); \ }; \ int classC::f( int i ) \ { \ classB::k = i; \ //error: '::' - open parenthesis expected int j = classB::k; \ //нормально return j; \ } MACRO( C, B )
Et si vous supprimez les lignes (1) et (2), par exemple, il n'y a pas d'erreur. Pourquoi ont-ils interféré ?
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.
Ou une situation encore plus simple.
{
const int a;
A() : a(this.f()) {}
int f() { return(0); }
};
Ilyas:
Почему список инициализации Вы не включаете в тело?
Parce que const int a ; Vous ne pouvez pas le faire autrement, non ?
Au sens figuré, un objet d'une classe (y compris celle-ci) est initialisé sur le signe ':'.
Chers modérateurs, si un produit (indicateur) payant sur le marché peut être rendu gratuit, est-il possible d'afficher et de discuter ouvertement de son travail sur le forum sans craindre d'être banni ? Ou, qu'est-ce que je devrais faire ?
Erreur de compilation
class B {
public:
static int k;
};
int B::k = 0;
#define MACRO( classC, classB ) \
class classC : public classB { \
public: \
classC( A *aa ) : a( aa ) {} \ //(1)
A *a; \ //(2)
int f( int i ); \
}; \
int classC::f( int i ) \
{ \
classB::k = i; \ //error: '::' - open parenthesis expected
int j = classB::k; \ //нормально
return j; \
}
MACRO( C, B )
Bug du moteur web
toute publicité est interdite, l'interdiction est immédiate. Vous ne voulez pas prendre de risques.
Il est préférable d'avoir un fil de blog, vous pouvez tout y faire.
Bonjour à tous. Il y a cette indentation bizarre en bas et je n'arrive pas à la faire disparaître.
Cet espace est réservé à l'affichage des volumes :