【发布时间】: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() -> int比int main()好多少? -
目前还没有VS2013。有一个预览版,但是一旦 VS2013 发布,如果有人读到这个问题,就会高度误导。
-
@ddriver,因为函数调用并不是真正的初始化。大括号内必须是初始化它的值,或者构造函数初始化它的参数(因为这就是它的用途),或者初始化列表的值。
标签: c++ visual-studio visual-studio-2013