0

以下 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 ));

我很乐意提供所有代码,但 StackOverflow 会阻止太多代码而几乎没有描述。任何人都可以帮助找出这些错误吗?谢谢

4

1 回答 1

2

您正在尝试错误地使用 function_node 的输入。具有输入的 function_node 采用具有输出tuple<char *, char *>的前任tuple<char *, char *>

如果这是您想要的(每个char *类型的节点有两个输入,以及 的输出char *),您应该使用一个indexer_node(具有多个输入端口,并且任何端口上的任何输入都会导致消息的组合)使用端口号和输入包装发出)连接到function_node采用indexer_node. 请参阅文档,并询问您是否有任何问题。

于 2017-01-02T03:21:54.893 回答