Consider the following quote,It says:
[dcl.fct]/16
A declarator-id or abstract-declarator containing an ellipsis shall only be used in a parameter-declaration.[...]
I agree with A declarator-id containing an ellipsis shall only be used in a parameter-declaration,Because we can't use something like ...id-expression in anywhere,it can only appear in parameter-declaration,so it's 100% clear.However,about abstract-declarator containing an ellipsis shall only be used in a parameter-declaration,please consider the below code:
#include <iostream>
#include <tuple>
template<typename...T>
void func(T...){
std::tuple<T...> tup; //#1
}
type-id:
type-specifier-seq abstract-declarator(opt)
How about #1,it's not parameter-declaration,howerver,the abstract-declarator that contain an ellipsis is used within type-id in that context.So,Is my understanding about abstract-declarator wrong?