C++ 函数原型作用域的有趣用法

C++ 函数原型作用域的有趣用法,c++,C++,据 如果名称在函数中声明,则该名称具有函数原型作用域 函数声明的参数列表,该函数声明不是 定义。它的作用域在声明之后立即开始,并运行到 参数列表的末尾 这个函数原型范围有什么有趣的用法和技巧吗?技巧?当然正如霍尔特所说: template <class It> void f(It it, decltype(*it) v); 把戏?当然正如霍尔特所说: template <class It> void f(It it, decltype(*it) v); templat

如果名称在函数中声明,则该名称具有函数原型作用域 函数声明的参数列表,该函数声明不是 定义。它的作用域在声明之后立即开始,并运行到 参数列表的末尾


这个函数原型范围有什么有趣的用法和技巧吗?

技巧?当然正如霍尔特所说:

template <class It>
void f(It it, decltype(*it) v);

把戏?当然正如霍尔特所说:

template <class It>
void f(It it, decltype(*it) v);

template void f(It It,decltype(*It)v)
-
It
具有“函数原型作用域”。这只是意味着不能在一个原型中用相同的名称声明两个函数参数。我认为引号实际上是错误的,或者至少是过时的,因为作用域扩展到了后面的返回类型,如果有的话。@Holt这篇文章的年份是2012
template void f(It,decltype(*It)v)
-
It
它有“函数原型范围”。这意味着你不能在一个原型中声明两个同名的函数参数,我认为引号实际上是错误的,或者至少是过时的,因为范围扩展到了后面的返回类型,霍尔特:如果有的话,这篇文章的年份是2012年