4
template<typename... Args>
struct A
{
Args&... args_;
//
// error : only function and template parameters can be parameter packs
//
A(Args&... args) : args_(args)
{}
};
int main()
{
auto a = A(1, 2, 3);
}
Mon compilateur est clang 5.0
avec -std=c++1z
. Comment définir une classe qui peut enregistrer des arguments de modèles variés dans un tel cas?Comment définir une classe pouvant enregistrer des arguments de modèles variés?
Le ' std :: move' n'est pas pertinent si les arguments sont passés par valeur. 'Args && ... args'? – DeiDei
@DeiDei Vous avez raison. Fixé. Merci :) – Rakete1111
L'utilisation de 'std :: apply' pour décompresser de tels tuples dans un pack devrait probablement être mentionnée. – Yakk