"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que __cplusplus é definido como 199711L no Visual Studio 2012 apesar do suporte ao C++ 11?

Por que __cplusplus é definido como 199711L no Visual Studio 2012 apesar do suporte ao C++ 11?

Publicado em 2025-01-18
Navegar:117

Why is __cplusplus defined as 199711L in Visual Studio 2012 despite C   11 support?

__cplusplus no Visual Studio 2012

No Visual Studio 2012, alguns desenvolvedores notaram que __cplusplus é definido como 199711L, indicando o "antigo" Padrão C, apesar do VS 2012 incluir C 11 support.

Background

A macro __cplusplus é uma macro de pré-processador que fornece a versão do padrão C com suporte no Visual Studio. Um valor de 199711L corresponde ao padrão C 98, enquanto 201103L indicaria suporte a C 11.

Problema

No Visual Studio 2012, mesmo se os cabeçalhos C 11 estiverem incluídos , __cplusplus ainda está definido incorretamente como 199711L. Isso pode ser problemático para códigos que dependem da macro __cplusplus para diferenciar entre versões do padrão C.

Resolução

O problema foi relatado à Microsoft para revisão, e aparece sob o título "Um valor da macro predefinida __cplusplus ainda é 199711L."

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3