为什么我不能直接 push_back 更新向量中函数的值?

Why can't I directly push_back update value from function in vector?

push_back使用函数更新值的向量不允许为什么?

std::vector< std::string >goin;
goin.push_back(function(somestringvalue)); // why cant it take update value?

void function(std::string& var)
{
    var += "pre";
}

正如其他人所说,问题是 function 没有 return 任何东西。解决这个问题的方法是让它 return 它的参数:

const std::string& function(std::string& var) {
    var += "pre";
    return var;
}

这样它会修改传递给它的字符串,并且它return是对该字符串的引用,以便您可以将它推入向量。