Mettez à jour votre compilateur.
Bien attendre en premier. En lisant les notes de version, je ne le vois pas dans la mise à jour 3, 4 ou l'aperçu pour 5.
c++17 le support dans MSVC reste expérimental et incomplet. Le support c++14 et c++11 reste simplement incomplet (surtout autour de SFINAE), mais n'est plus expérimental.
Le studio visuel est livré avec un compilateur hybride clang et microsoft. clang-c2 devrait supporter ceci quand MSVC le mettra à jour dans le compilateur clang 5.0 (la dernière fois que je l'ai vérifié était 3.8).
Clang 5 LLVM pour les fenêtres peuvent être téléchargés, mais son intégration avec Visual Studio est difficile et certaines choses que vous voulez faire ne peuvent tout simplement pas fonctionner. Mais il supporte les guides de déduction. Modifier le studio visuel pour utiliser Clang 5 est plus qu'un peu de travail. Une chose que vous pourriez faire est d'écrire un système pour construire à la fois vcproj et makefile à partir de certains fichiers de description de projet et de dépendance. Utilisez les makefiles pour construire, et le vcproj simplement pour activer intellisense (qui ne comprendra pas vos guides de déduction je crois) lors de l'édition du code. (J'ai travaillé à des endroits qui font l'équivalent approximatif de ces combinaisons de python, fichiers batch, makefiles eux-mêmes, et parfois même C#).
Ceci (créant votre propre chaîne de construction) est un projet en soi.
Une autre approche que j'ai vu le travail est de générer les vcproj fichiers et la main-craft le makefile s. Si la structure de votre répertoire de projet est assez simple, écrire un vcproj assez bon pour faire intellisense ne sera pas difficile.
Avez-vous vérifié le support de C++ 1z pour votre version de Visual Studio? Les compilateurs doivent ajouter des fonctionnalités. Ils ne sont pas magiquement informés des nouvelles révisions standard. – StoryTeller
[Cas et point] (https://blogs.msdn.microsoft.com/vcblog/2017/05/10/c17-features-in-vs-2017-3/): ** Déduction d'argument de modèle pour les modèles de classe * * statut - NON – StoryTeller
Et voici la [documentation officielle] (https://docs.microsoft.com/en-us/cpp/visual-cpp-language-conformance) et la (habituellement à jour) [page de cppreference] (http : //fr.cppreference.com/w/cpp/compiler_support) – UnholySheep