Erreurs, bugs, questions - page 1737

 
fxsaber:
Ou une situation encore plus simple.
class A
{
  const int a;
  
  A() : a(this.f()) {}
  
  int f() { return(0); }
};
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 " :".
 

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 ':'.

Je l'ai.
 
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.
 

Erreur de compilation

class A {};
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 )
Et si vous supprimez les lignes (1) et (2), par exemple, il n'y a pas d'erreur. Pourquoi ont-ils interféré ?
 
 
Vladislav Andruschenko:
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 y faire n'importe quoi.
 
Alexey Volchanskiy:
Il est préférable d'avoir un fil de blog, vous pouvez tout y faire.
))))))) et promouvoir votre blog ))))))))
 
Bonjour à tous. Il y a cette indentation bizarre en bas et je n'arrive pas à l'enlever.
Dossiers :
k1amn19a2h.png  37 kb
 
SergeySarkisyan:
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 :

volumes