Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我应该使用什么函数数据类型返回向量。push_back()?_C++_Function_Vector_Types - Fatal编程技术网

C++ 我应该使用什么函数数据类型返回向量。push_back()?

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语句“检索

这是我的功能,当我询问用户是否有某种症状,然后询问是/是或否/否以获得答案

函数中的if块检测到Y或N的大写和小写,然后我返回症状。将_按回Y或N,但我得到以下错误:

错误:无法转换 'symptom.std::vectorstd::_cxx11::basic_string函数有一个void返回类型,因此无法将它返回的内容转换为任何类型,因为它不返回任何内容

但是,还有一个函数,它返回对最后一个元素的引用;因此,您可以在相关块中进行条件push_-back调用,然后使用单个return语句“检索”被推送的元素:

字符串是字符串保持器,向量症状 { 如果holder==Y | | holder==Y{ 症状。向后推; } else如果holder==N | | holder==N{ 症状。推回; } 否则{
无法无效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("-");
    }
}