首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么.h文件不识别我正在使用的_cplusplus版本?

为什么.h文件不识别我正在使用的_cplusplus版本?
EN

Stack Overflow用户
提问于 2022-08-14 09:58:38
回答 1查看 61关注 0票数 0

我的.h文件为正在使用的__cplusplus版本提供了以下代码:

代码语言:javascript
复制
 #define CPP14_SUPPORTED (__cplusplus >= 201402L)

 #if CPP14_SUPPORTED
    #define IS_CPP14_SUPPORTED 1 // BUT THIS IS GREYED OUT in the .h file!
 #endif

主要问题是,我的所有.h文件都没有看到这个定义。

当我在我的IS_CPP14_SUPPORTED文件中使用定义.cpp时,它表明它是正确的,而不是灰色的。

我正在使用keil uvision5 IDE

EN

回答 1

Stack Overflow用户

发布于 2022-08-15 05:42:21

尝尝这个

代码语言:javascript
复制
#define CPP14_SUPPORTED __cplusplus >= 201402L
#if CPP14_SUPPORTED
   #warning "cpp14 supported"
#else
   #warning "Cpp14 not supported"
#endif

-std=c++14打印

代码语言:javascript
复制
<source>:3:5: warning: #warning "cpp14 supported" [-Wcpp]
    3 |    #warning "cpp14 supported"
      |     ^~~~~~~

-std=c++11打印

代码语言:javascript
复制
<source>:5:5: warning: #warning "Cpp14 not supported" [-Wcpp]
    5 |    #warning "Cpp14 not supported"
      |     ^~~~~~~
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73350690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档