Bonjour à tous

ce bout de code compile, et marche sans problème, mais intellisense considère qu'il y a une error sur la ligne d'appel de "exec", ligne 8 et 10
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
template<class... Args>
void exec(std::function<void(Args...)>lambda, Args... args)
{ 
	lambda(std::forward<Args>(args)...); 
}
void exec_test()
{
	exec<const std::string&>([](const std::string& s) { //error C++ aucune instance de modèle de fonction ne correspond à la liste d'arguments les types d'arguments sont*: (lambda []void (const std::string &s)->void, const char [6])
		std::cout << "hello " << s << "!\n"; }, "world");
        exec<int>([](int i) {std::cout << "The Answer: " << i << "!\n"; }, 42); //same error
}
même si ça compile et si ça s'execute bien, VS2019 voit ça comme un bug (souligné rouge), quelqu'un sait comment faire pour que ce ne soit plus le cas ? j'ai essayé en incluant #include <typeinfo>, en changeant class en typename, en renseignant les exemples d'argument de modèle pour intellisense... c'est plus précisément une E0304, dans la liste d'erreur elle est associé a intellisence.

PI je passe des lambda en paramètre de certaine fonction pour stocker des demandes sous forme de commande, que je peux executer en différé ou avec des déclencheurs