【问题标题】:VS 2013 RC allows to call functions using curly bracesVS 2013 RC 允许使用花括号调用函数
【发布时间】:2013-08-27 18:17:09
【问题描述】:

令我惊讶的是 VS 2013 编译这个没有错误:

#include <utility>

int main() {
    auto p = std::make_pair{123, 12.3f};
    return 0;
}

这是一些新功能还是什么?可能是一个错误...

编辑:VS 2013 RC 现在也允许以这种方式调用成员函数。

【问题讨论】:

  • @anhoppe,这不是 lambda。
  • GCC 和 Clang 不编译这个。我很确定这是一个错误,因为我也想不出任何允许它的情况。
  • 那么auto main() -&gt; intint main() 好多少?
  • 目前还没有VS2013。有一个预览版,但是一旦 VS2013 发布,如果有人读到这个问题,就会高度误导。
  • @ddriver,因为函数调用并不是真正的初始化。大括号内必须是初始化它的值,或者构造函数初始化它的参数(因为这就是它的用途),或者初始化列表的值。

标签: c++ visual-studio visual-studio-2013


【解决方案1】:

该功能是即将推出的 C++14 标准的一部分 ..http://en.wikipedia.org/wiki/C%2B%2B14#Function_return_type_deduction

【讨论】:

    猜你喜欢
    • 2019-11-30
    • 1970-01-01
    • 1970-01-01
    • 2014-12-13
    • 2023-04-10
    • 2020-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多