gpt4 book ai didi

c++ - "auto function()"可以在函数体内有几种类型的返回吗?

转载 作者:行者123 更新时间:2023-11-28 00:08:28 26 4
gpt4 key购买 nike

我在使用下面的代码时遇到问题,它会产生错误,我相信这是因为显然“auto”无法根据条件处理多种类型的返回。是这种情况还是我的代码有其他问题?另外,如果我尝试做的事情无法通过这种方式实现,那么是否可以通过其他方式实现?

auto Game_Manager::getMember(string s)
{
if (s == "rows")return rows; // return unsigned
else if (s == "columns")return columns; // return unsigned
else if (s == "p1")return p1; //return string
else if (s == "p2")return p2; //return string
else cout << "\n\nERROR!!! Invalid argument for getMember()\n\n" << endl;
return 1;
}

最佳答案

这是感兴趣的规则(来自标准的第 7.1.6.4 节)

If a function with a declared return type that contains a placeholder type has multiple return statements, the return type is deduced for each return statement. If the type deduced is not the same in each deduction, the program is ill-formed.

因此,所有返回语句必须具有相同的类型。

关于c++ - "auto function()"可以在函数体内有几种类型的返回吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34215341/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com