【问题标题】:return more than one value in c++ [duplicate]在c ++中返回多个值[重复]
【发布时间】:2017-01-23 07:06:35
【问题描述】:

我在 C++ 中创建了一个函数,我将其命名为 apply_morph_find_target_func
在这个函数中,我想获取两个值并返回一个 Mat 和一个动态数组。
动态数组的名称是target_property
target_property 的大小将是 n*6,其中 n 是动态的:
这是我为我的功能定义的:

Mat apply_morph_find_target_func(Mat result_first, Mat im) {
  ...
}

我该怎么办? 问候

【问题讨论】:

  • 使用引用参数返回附加值。
  • 或返回包含两个值的结构/类。
  • 或者返回一个 std::tuple

标签: c++ opencv


【解决方案1】:

您可以返回一个带有 mat 的结构和一个指向该结构内数组的指针。并在 main 函数中超出此值。

struct MyStruct{
    int **mat;
    int *arr;
};

MyStruct foo(){
    int n=1;
    MyStruct fooz;
    fooz.mat=new int*[n*6];
    fooz.arr=new int[6];
    return fooz;
}

【讨论】:

  • 你能举个例子吗
  • 当然,一小时左右。
猜你喜欢
  • 2016-01-18
  • 2015-06-26
  • 2021-03-03
  • 2014-04-04
  • 1970-01-01
  • 2012-06-26
  • 2015-03-27
  • 2014-09-12
  • 2020-03-20
相关资源
最近更新 更多