Por exemplo:
struct X{
X():a{10} {}
void foo() { a = 10; }
private:
int a;
};
Por que isso compila quando a variável a ainda não foi declarada?
O compilador basicamente faz duas passagens sobre a definição de classe ou estrutura. Um para a estrutura / classe para analisar e manipular as declarações de membros, depois um passo para as funções inline.
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras