Salut J'étudie les packs de paramètres. Je viens d'écrire un exemple de code et j'ai quelques bugs.référence non définie à <...> (& ...)
code:
#include <string>
using namespace std;
template<typename T> void inputer(){}
template<typename T,typename... Rest> void inputer(const T& x, Rest... rest)
{
cin>>x;
inputer<T>(rest...);
}
int main()
{
int a,b;
inputer<int>(a,b);
return 0;
}
Je ne vois pas d'erreur (je ne suis pas expérimenté avec des packs de paramètres). Comment obtenir un effet comme j'essaye de le faire.
Cordialement
PS: Quand je change
template <typename T> void inputer(){}
à
template <typename T> void inputer();
le code ne compile pas. Pourquoi ?
Vous ne nous ont pas dit quel effet vous essayez d'obtenir, ou ce que vous * êtes * obtenir. Comment pouvons-nous aider? –
@ Jonbi2 Comment vous attendez 'cin >> x;' aller avec 'const T & x' et' Rest' passés par valeur? – LogicStuff
En plus de la réponse donnée: rendre vide le modèle 'inputer' non-template, se débarrasser des arguments explicites du template et laisser la déduction faire son travail. –