C++ 我应该使用什么函数数据类型返回向量。push_back()?
这是我的功能,当我询问用户是否有某种症状,然后询问是/是或否/否以获得答案 函数中的if块检测到Y或N的大写和小写,然后我返回症状。将_按回Y或N,但我得到以下错误: 错误:无法转换 'symptom.std::vectorstd::_cxx11::basic_string函数有一个void返回类型,因此无法将它返回的内容转换为任何类型,因为它不返回任何内容 但是,还有一个函数,它返回对最后一个元素的引用;因此,您可以在相关块中进行条件push_-back调用,然后使用单个return语句“检索”被推送的元素: 字符串是字符串保持器,向量症状 { 如果holder==Y | | holder==Y{ 症状。向后推; } else如果holder==N | | holder==N{ 症状。推回; } 否则{C++ 我应该使用什么函数数据类型返回向量。push_back()?,c++,function,vector,types,C++,Function,Vector,Types,这是我的功能,当我询问用户是否有某种症状,然后询问是/是或否/否以获得答案 函数中的if块检测到Y或N的大写和小写,然后我返回症状。将_按回Y或N,但我得到以下错误: 错误:无法转换 'symptom.std::vectorstd::_cxx11::basic_string函数有一个void返回类型,因此无法将它返回的内容转换为任何类型,因为它不返回任何内容 但是,还有一个函数,它返回对最后一个元素的引用;因此,您可以在相关块中进行条件push_-back调用,然后使用单个return语句“检索
无法无效yesnostring holder,vector symptom实际上是您唯一的选项。无论您试图做什么,这都不是解决方案。也许您的意思是ifholder==Y | | holder==Y{symptom.push_backY;return Y;},等等。请记住,您的函数将按值接收向量作为副本,因此您对此向量所做的任何更改在该函数之外都不会可见。您可能希望通过引用传递向量,或者只是返回向量,但在没有上下文的情况下如何在中使用向量,因此很难给出建议。您打算如何处理该向量返回值?应该返回什么值?您是否期望。将_本身向后推以返回某个值?如果是,原因是什么?您是否尝试阅读了该值的文档?您实际需要的是vector.emplace_back和c++17或更高版本,然后该函数返回对插入元素的引用
string yesno(string holder ,vector<string> symptom)
{
if(holder == "Y" || holder == "y"){
return symptom.push_back("Y");
}
else if(holder == "N" || holder == "n"){
return symptom.push_back("N");
}
else{
cout <<"Wrong input" << endl;
return symptom.push_back("-");
}
}