【发布时间】:2018-04-10 15:03:55
【问题描述】:
它认为从 C++ 函数调用返回多个值(具有不同类型!)会很有趣。
所以我四处寻找可能找到了一些示例代码,但不幸的是我找不到与该主题匹配的任何内容。
我想要一个类似...的函数
int myCoolFunction(int myParam1) {
return 93923;
}
处理不同类型以返回多种不同类型的值,例如
?whatever? myCoolFunction(int myParam1) {
return { 5, "nice weather", 5.5, myCoolMat }
}
使用 C++ 可以实现这样的事情 (我的想法是使用特殊的 AnyType-vector,但我因此找不到示例代码) 还是我必须继续使用这些类型的调用? (见下文)
void myCoolFunction(cv::Mat &myMat, string &str){
// change myMat
// change str
}
注意:所以每次返回元素的顺序和计数都相同 - > 集合保持相同(如1.:double, 2.:int 在每种情况下)
【问题讨论】:
-
查看 C++ 中的模板(有用的链接可能是:tutorialspoint.com/cplusplus/cpp_templates.htm)
-
你不能在 c++ 中以普通的方式来做,而不是完全通用的方式,只能创建一个结构,除了这种参数。
-
我可以让你对 c++17 的 std::any 感兴趣吗?
-
您希望您的函数始终返回同一组类型,还是希望您的函数根据输入返回不同类型?
-
你的例子看起来像返回一个
struct,你可以这样做。
标签: c++ function return-type multiple-return-values