Limites do compilador
O padrão C++ recomenda limites para várias construções de linguagem.Veja a seguir uma lista das construções onde o compilador Visual C++ não implementa os limites recomendados.O primeiro número é o limite recomendado e o segundo número é o limite, implementado pelo Visual C++:
Níveis de aninhamento de instruções compostas, estruturas de controle de iteração e estruturas de controle de seleção [256] (256).
Parâmetros na definição de uma macro [256] (127).
Argumentos na chamada de uma macro [256] (127).
Caracteres em um caractere literal ou de longa distância seqüência literal de string (depois de concatenação) [65536] (65535).
Níveis de classe aninhada, estrutura ou união definições em um único struct-declaração-list [256] (16).
Inicializadores de membro em uma definição de construtor [6144] (aproximadamente 600, dependente da memória, pode aumentar com a opção de compilador /Zm).
Qualificações do escopo de um identificador [256] (127).
Especificações externas aninhadas [1024] (10).
Argumentos de modelo em uma declaração do modelo [1024] (64).