Le code C++ suivant est pour Intel TBB. Ce code a également été généré par le diagramme de flux. J'ai 2 erreurs de compilation:Erreur multithreading TBB C++: aucune fonction correspondante pour l'appel
No matching function for call to 'make_edge'
No matching function for call to 'make_edge'
Voici le code avec les définitions:
function_node< tbb::flow::tuple<char *,char *>, char * > result_reporter(position3_g0, 1, [](const tbb::flow::tuple<char *,char *> & in) -> char * {...
function_node< char *, char * > sott_target_node(position3_g0, unlimited, [](char *buffer) -> char * {
Voici le code d'appel TBB qui crée les erreurs de compilation
make_edge(result_join, result_reporter);
make_edge(sott_target_node, input_port<2>(result_join));
Je fournirais Glady tous le code mais StackOverflow empêche trop de code avec peu de description. Quelqu'un peut-il aider à comprendre ces erreurs? Merci
Si vous souhaitez que le noeud ne soit déclenché que lorsqu'il reçoit une sortie de tous ses prédécesseurs, vous avez besoin d'un noeud de connexion. https://software.intel.com/en-us/node/506236. Il y a trois politiques d'adhésion; Je suppose que vous voulez une jointure de file d'attente. L'indexer_node transmet immédiatement chaque message qu'il reçoit de chaque port; la jointure attend jusqu'à ce qu'elle ait au moins une entrée sur chaque port d'entrée avant de les transmettre. La sortie de la jointure est un tuple. – cahuson