首页 > 解决方案 > 如何在 C 中返回多个不完整类型?

问题描述

我是 C 的新手,正在 C 中尝试 Tensorflow。我可以看到大多数 Struct 都是不完整的类型,我想编写一个函数来初始化它们。例如,下面的代码不起作用。

int main()
{
   TF_Status* Status = NULL;
   TF_Graph* Graph = NULL;
   init(Status);
   return 0;
}

void init(TF_Status* Status, TF_Graph* Graph)
{
   Status = TF_NewStatus();
   Graph = TF_NewGraph();
}

知道我该怎么做吗?

标签: c

解决方案


将指向要修改的内容的指针传递给函数以让函数修改它们。

void init(TF_Status** Status, TF_Graph** Graph);

int main(void)
{
   TF_Status* Status = NULL;
   TF_Graph* Graph = NULL;
   init(&Status, &Graph);
   return 0;
}

void init(TF_Status** Status, TF_Graph** Graph)
{
   *Status = TF_NewStatus();
   *Graph = TF_NewGraph();
}

推荐阅读