Por que posso usar uma variável de membro ainda não declarada em uma função de membro?

ozma

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?

Algum cara programador

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.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Por que posso atualizar as variáveis de membro em uma função de membro const?

Como usar uma variável de membro em uma função de membro que é definida em um arquivo separado

Por que não posso declarar e definir uma variável de membro em linhas diferentes em uma classe?

Por que usar o operador walrus em uma variável de membro gera um SyntaxError?

Como posso usar uma função de membro de uma classe declarada de encaminhamento?

Por que não posso passar uma função de membro vinculada como um chamável?

Por que posso alterar a variável de membro em um objeto const que é o resultado de uma função de objeto const de retorno?

C ++: Por que posso passar uma variável de membro com valor de ponteiro de uma função de membro const para uma função externa que usa um parâmetro de ponteiro não const?

Por que não posso inicializar diretamente uma variável de membro privado na definição de classe

Por que não posso passar o ponteiro this explicitamente para uma função de membro?

Por que ainda posso usar uma variável depois de transferir a propriedade dela para uma função?

Por que ainda posso usar uma variável depois de transferir a propriedade dela para uma função?

Por que não é possível usar o parâmetro do construtor (não propriedade) diretamente como variáveis para uma função de membro?

Por que esse padrão não pode ser usado em uma função de membro?

Por que minha variável de membro personalizada de uma classe não é atualizada em outras classes?

Por que posso chamar uma função de membro por meio de um ponteiro selvagem

Por que uma variável de membro Object não pode ser final e volátil em Java?

Ter várias assinaturas de função em uma variável de membro tipada por função

Por que usar a palavra-chave 'const' duas vezes em uma função de membro de classe C ++

Por que o vetor não suporta tamanho como variável de membro como variável de comprimento em uma classe Java, em vez de uma função size ()?

Como chamo uma função por meio de uma variável de membro?

Acessando uma função embutida por meio de uma variável de membro const

Por que atribuir um pool MySQL a uma variável de membro reverte para indefinido quando uma função de membro é chamada?

Por que posso usar uma variável em uma função antes de ser definida em Python?

Por que não posso chamar uma função de membro não const em um elemento em um std :: set?

Na lista de inicializadores de membro, posso criar uma referência a uma variável de membro que não está na lista?

Por que especificar uma referência lvalue para * this em uma função de membro é diferente de não especificar nada?

Por que especificar uma referência lvalue para * this em uma função de membro é diferente de não especificar nada?

Como obter dados de uma função não membro em uma função membro no Qt?