bug intellisense VS 2019 ? (variadic template)
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:
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