Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
待定C++;多线程错误:调用没有匹配的函数 英特尔C++的TBB代码如下。这段代码也是由流程图生成的。 我有两个编译错误: No matching function for call to 'make_edge' No matching function for call to 'make_edge'_C++_Multithreading_Tbb_Tbb Flow Graph - Fatal编程技术网

待定C++;多线程错误:调用没有匹配的函数 英特尔C++的TBB代码如下。这段代码也是由流程图生成的。 我有两个编译错误: No matching function for call to 'make_edge' No matching function for call to 'make_edge'

待定C++;多线程错误:调用没有匹配的函数 英特尔C++的TBB代码如下。这段代码也是由流程图生成的。 我有两个编译错误: No matching function for call to 'make_edge' No matching function for call to 'make_edge',c++,multithreading,tbb,tbb-flow-graph,C++,Multithreading,Tbb,Tbb Flow Graph,下面是带有定义的代码: 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(po

下面是带有定义的代码:

 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 * {
function\u noderesult\u reporter(位置3\u g0,1,[](常量tbb::flow::tuple&in)->char*{。。。
函数节点sott\u目标节点(位置3\u g0,无限制,[](char*缓冲区)->char*{
下面是创建编译错误的TBB调用代码

make_edge( result_join, result_reporter);

make_edge( sott_target_node, input_port< 2 >( result_join ));
make_edge(result_join,result_reporter);
使_边(sott_目标_节点,输入_端口<2>(结果_连接));
我很乐意提供所有的代码,但是StackOverflow防止了太多的代码而没有太多的描述。有人能帮我找出这些错误吗?
谢谢

您试图错误地使用function\u节点的输入。输入为
tuple
的function\u节点将使用输出为
tuple
的前置节点


如果这是您想要的(有两个输入到节点,每个输入类型为
char*
,输出类型为
char*
),您应该使用的组合是(有多个输入端口,任何端口上的任何输入都会导致发送带有端口号和输入包装的消息)连接到采用
索引器节点的输出类型的
函数节点
。请参阅文档,并询问您是否有任何问题。

您试图错误地使用函数节点的输入。输入为
元组
的函数节点采用具有
元组
输出的前置ut


如果这是您想要的(有两个输入到节点,每个输入类型为
char*
,输出类型为
char*
),您应该使用的组合是(有多个输入端口,任何端口上的任何输入都会导致发送带有端口号和输入包装的消息)它连接到一个
函数\u节点
,该节点采用
索引器\u节点
的输出类型。请参阅文档,并询问您是否有任何问题。

如果您需要仅在节点从其所有前辈接收到输出时才触发该节点,则需要一个join\u节点。.有三种加入策略;我猜是您需要排队联接。indexer_节点立即转发它从每个端口接收到的每条消息;联接等待,直到在每个输入端口至少有一个输入,然后再转发它们。联接的输出是元组。如果您只需要在节点从其所有前级接收到输出时触发该节点,则需要联接_节点。。有三种加入策略;我猜您需要排队加入。indexer_节点会立即转发从每个端口收到的每个消息;加入会等待每个输入端口至少有一个输入后再转发。加入的输出是元组。