【发布时间】:2021-05-23 02:12:16
【问题描述】:
我正在尝试获取一个简单的示例来了解如何使用std::enable_if,这是问题所在:
我正在阅读 David Vandevoorde、Nicolai M.Josuttis 编写的教科书 C++ 模板完整指南,第 7 章第 4 节。
本章提到:“您可以使用类型特征来检测是否传递了数组(或指针)”,及其以下代码:
template<typename T,
std::enable_if_t<std::is_array_v<T>>>
void foo(T&& arg1, T&& arg2)
{
}
我的问题是,上面的代码应该如何调用和使用?例如,我试过:
int x[] = {1, 2, 3};
int y[] = {1, 2, 3, 4, 5};
foo(x, y);
但是没有编译,网上没找到类似的用法,谁能给我一些提示或代码指导如何使用上面的代码?
【问题讨论】:
标签: c++ templates perfect-forwarding forwarding-reference