自动变量作为函数参数,仅使用 > C++11
auto variable as a function parameter with > C++11 only
IIUC,我不能在C++11中使用auto
变量作为函数参数,但在C++14中可能会使用。
这是真的吗?
我相信无论是谁关闭它都是错误的——gcc-4.9甚至不符合C++11,也绝对不是C++14。那么,在这种情况下,答案有什么帮助呢?
在lambda中,是。
lambda表达式可以使用auto作为C++14中的函数参数类型。
来自微软开发者网络Lambada Expressions C++
在C++14中,如果参数类型是泛型的,则可以使用auto关键字作为类型说明符。这告诉编译器创建函数调用运算符作为模板。参数列表中的每个auto实例都等效于一个不同类型的参数
auto y = [] (auto first, auto second)
{
return first + second;
};
在C++14中,ISO C++仍然禁止将其作为通用函数参数。编译器会给你错误。
简而言之,您不能在一般函数中使用它。您只能在lambda函数中使用它。
相关文章:
- MSVC是否支持C++11样式的属性而不是__declspec
- 创建LinkedList退出,返回代码为-11(SIGSEGV)
- 我可以将一个用clang c++11编译的对象与另一个用c++17编译的对象链接起来吗
- 继承:构造函数,初始化C++11中基类的类C数组成员
- 如何将模板转换为C++11之前的模板
- EASTL矢量<向量<int>>连续的
- c++11评估顺序(未定义的行为)
- C++中的VLA,扩展名为std=C++11
- 代码在我的计算机上运行良好,但是在将其提交给coursera时遇到未知的信号11问题
- "类模板示例<int>;"语句对 C++11 是什么意思?
- this_thread::sleep_for和计时时钟之间的关系是否由C++11标准指定
- 如何使用lock_guard在c++11中实现scoped_lock功能
- C++11 中不同类型的对象的 std::array 的替代方案
- 为什么 -mmacosx-version-min=10.10 不阻止使用标记为从 10.11 开始的函数?
- 为什么我的C++代码中出现'Segmentation Fault: 11'行?
- 强枚举类型定义:Clang Bug 还是 C++11 标准不确定性?
- 别名模板的专业化 C++11 中没有开销的最佳替代方案
- STLPort using C++11
- 错误,包括&lt; ctype&gt;在原子上使用C 11
- std::vector<;uint8_t>;当C++11/14启用时,手动复制而不是调用memcpy