【发布时间】:2019-12-31 17:50:52
【问题描述】:
fun(int a) {
if (a) return a; return "empty";
}
我需要一个函数来获取一个数字并根据它返回的数字返回一个 int 变量或一个字符串。 请告诉我如何实现这样的功能。
【问题讨论】:
-
您必须指定一个返回类型,因此您可以指定一个可以表示多种类型的类型,并可以尝试研究type erasure。
-
这是一个不寻常的要求,但您可以返回这两种类型的联合,或者,对于最新版本的 C++,使用
std::variant。 -
你会如何使用它?
-
你不能。因为函数声明应该在编译时指定它的返回类型。