SetInput
========

#### 函数功能

设置算子Input，即由哪个算子的输出连到本算子。

有如下几种SetInput方法：

*   如果指定srcOprt第0个Output为当前算子Input，使用第一个函数原型设置当前算子Input，不需要指定srcOprt的Output名称。
    
*   如果指定srcOprt的其它Output为当前算子Input，使用第二个函数原型设置当前算子Input，需要指定srcOprt的Output名称。
    
*   如果指定srcOprt的其它Output为当前算子Input，使用第三个函数原型设置当前算子Input，需要指定srcOprt的第index个Output。
    

#### 函数原型

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/da/v3/NEYVDdHkSBKXjOyEKhXNNQ/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073742Z&HW-CC-Expire=86400&HW-CC-Sign=23F248DF5BDE151070C518171FAC21916414F702EF1A5E0F9F9D6B2A6139E4F4)

数据类型为string的接口后续版本会废弃，建议使用数据类型为非string的接口。

Operator &SetInput(const std::string &dst\_name, const Operator &src\_oprt);
Operator &SetInput(const char\_t \*dst\_name, const Operator &src\_oprt);
Operator &SetInput(const std::string &dst\_name, const Operator &src\_oprt, const std::string &name);
Operator &SetInput(const char\_t \*dst\_name, const Operator &src\_oprt, const char\_t \*name);
Operator &SetInput(const std::string &dst\_name, const Operator &src\_oprt, uint32\_t index);
Operator &SetInput(const char\_t \*dst\_name, const Operator &src\_oprt, uint32\_t index);
Operator &SetInput(uint32\_t dst\_index, const Operator &src\_oprt, uint32\_t src\_index);
Operator &SetInput(const char\_t \*dst\_name, uint32\_t dst\_index, const Operator &src\_oprt, const char\_t \*name);
Operator &SetInput(const char\_t \*dst\_name, uint32\_t dst\_index, const Operator &src\_oprt);

#### 参数说明

| 参数名 | 输入/输出 | 描述 |
| :-- | :-- | :-- |
| dst\_name | 输入 | 当前算子Input名称。 |
| src\_oprt | 输入 | Input名称为dst\_name的输入算子对象。 |
| src\_index | 输入 | src\_oprt的第src\_index个输出。 |
| name | 输入 | srcOprt的Output名称。 |
| index | 输入 | srcOprt的第index个Output。 |
| dst\_index | 输入 | 名称为dst\_name的第dst\_index个动态输入。 |

#### 返回值

| 类型 | 描述 |
| :-- | :-- |
| Operator& | 当前算子本身。 |

#### 异常处理

无

#### 约束说明

无