TBB C++ multithreading error: No matching function for call
TBB C++ multithreading error: No matching function for call
以下 C++ 代码适用于英特尔 TBB。此代码也是由 Flow Graph 生成的。
我有 2 个编译错误:
No matching function for call to 'make_edge'
No matching function for call to 'make_edge'
这是带有定义的代码:
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 * {
这是导致编译错误的 TBB 调用代码
make_edge( result_join, result_reporter);
make_edge( sott_target_node, input_port< 2 >( result_join ));
我很乐意提供所有代码,但 Whosebug 会防止代码过多而描述很少。任何人都可以帮助找出这些错误吗?
谢谢
您试图错误地使用 function_node 的输入。输入为 tuple<char *, char *>
的 function_node 需要一个输出为 tuple<char *, char *>
的前置任务。
如果这是你想要的(每个 char *
类型的节点有两个输入,char *
的输出)你应该使用 indexer_node
(它有多个输入端口,任何端口上的任何输入都会导致发出一条消息,其中包含端口号和输入包装)连接到 function_node
,该 function_node
的输出类型为 indexer_node
.请查看文档,如有任何问题请询问。
以下 C++ 代码适用于英特尔 TBB。此代码也是由 Flow Graph 生成的。 我有 2 个编译错误:
No matching function for call to 'make_edge'
No matching function for call to 'make_edge'
这是带有定义的代码:
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 * {
这是导致编译错误的 TBB 调用代码
make_edge( result_join, result_reporter);
make_edge( sott_target_node, input_port< 2 >( result_join ));
我很乐意提供所有代码,但 Whosebug 会防止代码过多而描述很少。任何人都可以帮助找出这些错误吗? 谢谢
您试图错误地使用 function_node 的输入。输入为 tuple<char *, char *>
的 function_node 需要一个输出为 tuple<char *, char *>
的前置任务。
如果这是你想要的(每个 char *
类型的节点有两个输入,char *
的输出)你应该使用 indexer_node
(它有多个输入端口,任何端口上的任何输入都会导致发出一条消息,其中包含端口号和输入包装)连接到 function_node
,该 function_node
的输出类型为 indexer_node
.请查看文档,如有任何问题请询问。