C++ 函数中的返回字符串

C++ 函数中的返回字符串,c++,arrays,string,return,C++,Arrays,String,Return,我当时正在为学校做一个项目,我们被分配了一个任务,在这个任务中,我们必须在数组中显示所选元素的第一个和最后一个位置。我用cout函数在一个单独的文件中测试了这段代码,它工作得很好,但是当我尝试在函数中使用它来稍后调用它时,我似乎无法返回有效值。。。有办法吗 void find_first_last(int* tab, int size, int element) { int first = 0, last = 0; for (int i = 1; i < size; i+

我当时正在为学校做一个项目,我们被分配了一个任务,在这个任务中,我们必须在数组中显示所选元素的第一个和最后一个位置。我用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;
}    
void意味着你不打算归还任何东西。如果您写字符串find_first_last,您应该能够返回一个字符串

这里的C++或C函数的第一位是返回类型,在这种情况下,空格因此不返回任何值。 因此,要在头文件/源文件中返回std::string,可以将其声明为:

std::string find_first_last(int* tab, int size, int element) 
或者,如果正在使用名称空间,则只需字符串。

更改

void find_first_lastin*选项卡,int size,int元素 到

std::string find_first_lastin*选项卡,int size,int元素
函数的返回类型为void,这意味着函数不返回任何内容。将函数的declare替换为案例中所需的数据类型,它的字符串和所有内容都应该有效

是否声明正确的返回类型?std::string find_first_lastin*选项卡,int size,int元素?我认为这是一个打字错误,所以请只发表评论。提问时请准确:1。我似乎无法返回有效值:这意味着什么?你有编译错误吗?程序是否没有按您预期的方式运行?2.显示生成意外行为或错误并包含所有源文件和头文件、主文件、包含文件等的完整文件。
std::string find_first_last(int* tab, int size, int element)