Erro fatal C1001
ERRO INTERNO DO COMPILADOR (arquivo do compilador file, linha number)
O compilador não pode gerar o código correto para um constructo, geralmente devido à combinação de uma expressão específica e uma opção de otimização, ou um problema na análise. Se o arquivo do compilador listado tiver um segmento de caminho utc ou C2, provavelmente se tratará de um erro de otimização. Se o arquivo tiver um segmento de caminho cxxfe ou c1xx ou for um msc1.cpp, provavelmente se tratará de um erro do analisador. Se o arquivo nomeado for cl.exe, não haverá outras informações disponíveis.
Geralmente, você pode corrigir um problema de otimização removendo uma ou mais opções de otimização. Para determinar qual opção apresenta falha, remova as opções uma de cada vez e recompile até que a mensagem de erro desapareça. As opções mais frequentemente responsáveis são /Og (otimizações globais) e /Oi (gerar funções intrínsecas). Depois de determinar qual opção de otimização é responsável, você pode desabilitá-la em torno da função em que o erro ocorre usando o pragma optimize e continuar a usar a opção para o restante do módulo. Para obter mais informações sobre opções de otimização, confira Práticas recomendadas de otimização.
Se as otimizações não forem responsáveis pelo erro, tente reescrever a linha em que o erro é relatado ou várias linhas de código ao redor dessa linha. Para ver o código da maneira como o compilador o vê após o pré-processamento, você pode usar a opção /P (Pré-processar em um arquivo).
Para obter mais informações sobre como isolar a origem do erro e como relatar um erro interno do compilador para a Microsoft, confira Como relatar um problema com o conjunto de ferramentas do Visual C++.