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).