首页 > 试题广场 >

以下代码的编译结果是什么? templatetypenam

[单选题]
以下代码的编译结果是什么?
template<typename T>
auto foo(T t) -> decltype(t.begin(), void()) {
    // overload 1
}
template<typename T>
void foo(T t) {
// overload 2
}
int main() {
    foo(42);
}
  • 编译错误:两个foo重载冲突
  • 调用overload 2,SFINAE使overload 1被排除
  • 调用overload 1
  • 编译错误:decltype表达式非法

这道题你会答吗?花几分钟告诉大家答案吧!