13 votes

Modèle variadique dans VS 2012 (Visual C++ CTP de novembre 2012)

J'ai installé Visual C++ Compiler November 2012 CTP et créé un projet de console C++. J'ai écrit ceci dans

template
void Test(T value){
}
template
void Test(T value, Args... args){
    Test(value);
    Test(args...);
}

int main(){
    Test(1,2,3);
}

Ensuite, j'ai appuyé sur F6 pour compiler dans l'EDI. J'ai obtenu cette erreur à la ligne 4

error C2143: erreur de syntaxe : ',' manquant avant '...'

La liste de compilation mentionne les "modèles variadiques" donc je pense que cela devrait fonctionner. Je comprends que l'intellisense peut être incorrecte cependant le 'compilateur' devrait fonctionner. Est-ce que je ne peux pas compiler depuis l'EDI? Est-ce que je dois activer quelque chose quelque part? int i{4}; ne semble pas fonctionner non plus et je suis sûr que c'est une initialisation uniforme valide.

37voto

James McNellis Points 193607

Dans les propriétés du projet, assurez-vous de sélectionner le Compilateur Microsoft Visual C++ Nov 2012 CTP :

Chaîne d'outils

La nouvelle chaîne d'outils ne remplace pas la chaîne d'outils existante de Visual C++ 2012, et elle n'est pas activée par défaut. Elle est installée côte à côte avec la chaîne d'outils existante.

Si vous sélectionnez la nouvelle chaîne d'outils, votre programme se compilera sans erreur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X