::mediapipe::Status RunMPPGraph() {
  std::string calculator_graph_config_contents;
  MP_RETURN_IF_ERROR(mediapipe::file::GetContents(
      FLAGS_calculator_graph_config_file, &calculator_graph_config_contents));
  LOG(INFO) << "Get calculator graph config contents: "
            << calculator_graph_config_contents;
  mediapipe::CalculatorGraphConfig config =
      mediapipe::ParseTextProtoOrDie<mediapipe::CalculatorGraphConfig>(
          calculator_graph_config_contents);
这是Google的Mediapipe提供的较大代码的一小部分,它使用范围解析运算符定义RunMPPGraph()。我对这个定义一无所知。有人可以告诉我怎么回事吗?
这看起来像一个函数,我很确定它是:::mediapipe::Status RunMPPGraph() ...但是定义函数的基本方法是---> ReturnType FunctionName(parameters),在此程序中RunMPPGraph是名称,因此,::mediapipe::Status是返回类型。在主函数中,此语句---> RunMPPGraph调用::mediapipe::Status run_status = RunMPPGraph();(),这意味着::mediapipe::Status是用户定义的数据类型的某种形式。所以我想知道是否可以将::mediapipe::Status分解为更小的部分?

最佳答案

这挺有用的,我想您对命名空间并不熟悉。

::mediapipe::Status RunMPPGraph()
RnuMMPGraph是一个接受零参数并返回::mediapipe::Status的函数。 Status是在mediapipe命名空间中定义的类型,该 namespace 在全局命名空间中定义。

关于c++ - 无法理解范围解析运算符的使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63543707/

10-11 21:30