Следующий код компилируется с помощью GCC:
void func(int arg1, decltype(arg1) arg2)
{
(void)arg2;
}
int main(){}
Я использовал эту команду для компиляции:
g++ -std=c++14 test.cpp -o test -pedantic-errors -Wall -Wextra
Но такое использование параметра в середине объявления функции кажется странным. Действительно ли это действительно в стандартном С++ или это расширение GCC?