【发布时间】:2018-03-08 00:33:55
【问题描述】:
我希望能够创建一个函数GetInput(),它将一个类作为参数,并返回输入的任何内容。函数定义如下所示:
GetInput(class type) {
if (type == string) {
string stringInput;
cin >> stringInput;
return stringInput;
}
else if (type == int) {
int intInput;
cin >> intInput;
return intInput;
}
else {
return NULL;
}
}
我不知道要为函数的返回类型写什么,因为它可以是字符串或整数。我怎样才能使这个功能起作用?
【问题讨论】:
-
你知道模板吗?您是否有不想为此使用模板的原因?
-
@EricPostpischil 我没学过模板
-
如果您通过将
type作为模板参数传递它来使type成为实际类型而不是变量,则可以这样做。另请查看if constexpr。
标签: c++ function return-type