C ++中有许多feature test macros,它们提供了一种简单而可移植的方式来检测C ++标准和实验功能的存在。但是,我没有找到简单的宏来检查是否支持enum class
。有没有更简单直接的方法来检查enum class
支持,然后检查__cplusplus
宏的值?
答案 0 :(得分:1)
不幸的是,没有便携式方法可以检测到这一点。
Boost有一个名为WITH MEMBER [Measures].[MyNewMeasure] AS [Measures].[MyFirstMeasure] + [Measures].[MySecondMeasure]
SELECT {[Measures].[MyNewMeasure]} ON COLUMNS,
{ whatever } ON ROWS
FROM [CubeName]
的宏,因此,如果您在项目中使用Boost,则可以使用该值。但是,他们是在编译器/版本的基础上进行设置的-这背后没有巧妙的编码技巧。
如果您不是Boost的选择,那么如果您有幸使用此处列出的编译器,那么您至少可以看看他们的工作方式并为您的目的复制部分代码: