Partilhar via


Resumo das alterações de quebras de time de compilar

Este tópico resume os erros em time de compilar e avisos que agora serão emitidos no código compilado sem erros ou avisos antes para Visual C++ 2003. No entanto, algumas alterações significativas relacionadas à conformidade, time de compilar foram introduzidas no Visual C++ 2005.

  • Agora é necessários para a diretiva de pré-processador definida ( parênteses de fechamentoC2004).

  • Palavra-chave typename ausente e especializações em explícitas não encontra os parâmetros de modelo do modelo principal (C2146 ).

  • Um membro protegido (n) só pode ser acessado através de uma função de membro de uma classe (B) que herda da classe (A) do qual ele (n) é um membro (C2247).

  • Verificações de melhor acessibilidade ao compilador agora detectam classes base inacessíveis (C2247).

  • Uma especialização explícita não pode ser um construtor de cópia ou operador de atribuição de cópia (C2299).

  • Uma exceção não pode ser identificada se o destruidor e/ou cópia construtor é inacessível (C2316).

  • Padrão de argumentos em ponteiros para funções não permitidos (C2383).

  • Um membro de dados estático não pode ser inicializado por meio da classe derivada (C2477).

  • A inicialização de um typedef não é permitida pelo padrão e gerará um erro no compilador ( agoraC2513).

  • bool Agora é um tipo apropriado (C2632).

  • Um UDC agora pode criar ambigüidade com operadores sobrecarregados (C2666).

  • Uma conversão de qualificação não é igual a conversão de identidade (C2666).

  • Expressões mais agora são considerados válido ponteiro nulo constantes (C2668).

  • template<> Agora é necessário em locais onde o compilador poderia anteriormente inferi-lo)C2768).

  • A especialização explícita de uma função de membro fora da classe inválido é válida se a função já tem sido especializada explicitamente via uma especialização de classe de modelo.(C2910).

  • Para cada especialização explícita, deve escolhido os parâmetros de cada especialização explícito, de modo que eles correspondem aos parâmetros do modelo principal (C2912).

  • Parâmetros de modelo de tipo não de ponto flutuante não são permitidos (C2993).

  • Modelos de classe não são permitidos sistema autônomo argumentos de tipo de modelo (C3206).

  • Nomes de função Friend não forem introduzidos em que contém o namespace (C3767).

  • Conformidade de ponteiro para o membro avançado (C3867).

  • O compilador não aceitará mais extras vírgulas em uma macro (C4002).

  • Um objeto do tipo POD construído com um inicializador do formulário () será inicializado padrão (C4345).

  • typename é necessário agora se um nome dependente for deve ser tratado sistema autônomo um tipo (C4346).

  • Funções que foram consideradas incorretamente especializações em modelo não são consideradas positivo (C4347).

  • Membros de dados estático não podem ser inicializados por meio da classe derivada (C4356).

  • Uma especialização de modelo de classe precisa ser definido antes que ele foi usado em um tipo de retorno (C4686).

  • O compilador agora relata código inacessível (C4702).

  • Uma declaração de amigo que declara uma nova função do modelo não deve ser definido (LNK2019).

Consulte também

Referência

Alterações significativas no compilador Visual C++