【发布时间】:2020-04-30 00:18:40
【问题描述】:
我正在为学校做一个项目,我们得到了一个任务,我们必须在一个数组中显示所选元素的第一个和最后一个位置。我在一个单独的文件中使用 cout 函数测试了这段代码,它工作正常,但是当我尝试在函数中使用它以便稍后调用它时,我似乎无法返回有效值......任何修复?
void find_first_last(int* tab, int size, int element) {
int first = 0, last = 0;
for (int i = 1; i < size; i++) {
if (tab[i] == element)
first = i+1;
}
for (int i = size; i > 0; i--) {
if (tab[i] == element)
last = i + 1;
}
stringstream ss;
ss << "First:" << first << ", Last: " << last;
string first_last = ss.str();
return first_last;
}
【问题讨论】:
-
声明正确的返回类型?
std::string find_first_last(int* tab, int size, int element)?我认为这是一个错字,所以只能评论。 -
提问时请准确: 1. “我似乎无法返回有效值”:这是什么意思?你有编译错误吗?程序没有按照您预期的方式运行吗? 2. 显示一个完整的minimal reproducible example,它会产生意外的行为或错误,包括所有的源文件和头文件、
main、#includes 等等。