C++0X: constexpr的弱智问题。 闪点结贴。

TheNewIpad 2014-05-24 04:25:01
阅读 TCPL 第四版时 ,遇到了如下语句,
For a function to be usable in a constant expression, that is, in an expression that will be evaluated by the compiler, it must be defined constexpr.


为了验证,我正在 VS 2013中 写出如下代码

constexpr double square(double x) { return x*x; }


可是挨千刀的VS2013 给报错。 error C2144: syntax error : 'double' should be preceded by ';'

难道说, VS2013 还不支持 constexpr?
...全文
132 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
TheNewIpad 2014-05-24
  • 打赏
  • 举报
回复
引用 4 楼 FancyMouse 的回复:
[quote=引用 3 楼 TheNewIpad 的回复:] [quote=引用 1 楼 Falleyes 的回复:] 等vs2014吧
VS2013,绝对应该支持了C++ox, 例如如下 {} 初始化列表。 int *pArr = new int[]{1,2,3,4,5,6,7}; 例如: const auto PI = 3.1415926; 你应该试试再说。 [/quote] http://msdn.microsoft.com/en-us/library/hh567368.aspx 有各项子功能的支持列表。不是说“支持c++11”就完整实现所有功能的。[/quote] 啥编译器,可以验证这些呢? G++ 4.7?
Falleyes 2014-05-24
  • 打赏
  • 举报
回复
引用 3 楼 TheNewIpad 的回复:
[quote=引用 1 楼 Falleyes 的回复:] 等vs2014吧
VS2013,绝对应该支持了C++ox, 例如如下 {} 初始化列表。 int *pArr = new int[]{1,2,3,4,5,6,7}; 例如: const auto PI = 3.1415926; 你应该试试再说。 [/quote]这个知道,现在我就在用。应该是vs2013并不完全支持C++11,所以再等等吧。
FancyMouse 2014-05-24
  • 打赏
  • 举报
回复
引用 3 楼 TheNewIpad 的回复:
[quote=引用 1 楼 Falleyes 的回复:] 等vs2014吧
VS2013,绝对应该支持了C++ox, 例如如下 {} 初始化列表。 int *pArr = new int[]{1,2,3,4,5,6,7}; 例如: const auto PI = 3.1415926; 你应该试试再说。 [/quote] http://msdn.microsoft.com/en-us/library/hh567368.aspx 有各项子功能的支持列表。不是说“支持c++11”就完整实现所有功能的。
TheNewIpad 2014-05-24
  • 打赏
  • 举报
回复
引用 1 楼 Falleyes 的回复:
等vs2014吧
VS2013,绝对应该支持了C++ox, 例如如下 {} 初始化列表。 int *pArr = new int[]{1,2,3,4,5,6,7}; 例如: const auto PI = 3.1415926; 你应该试试再说。
TheNewIpad 2014-05-24
  • 打赏
  • 举报
回复
We allow a constexpr function to be called with non-constant-expression arguments in contexts that do not require constant expressions, so that we don’t have to define essentially the same function twice: once for constant expressions and once for variables. 为了验证这个。
Falleyes 2014-05-24
  • 打赏
  • 举报
回复
等vs2014吧

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧