我正在尝试实现以下子例程。
string& sortAndMerge(string &u, int start, int end){
if(end>=0){
int mid=(start+end)/2;
if(start<end){
sortAndMerge(u,start,mid);
sortAndMerge(u,mid+1,end);
return merge(u,start,mid,end);
}
}
return;
}
该函数称为sortAndMerge(s,0,s.length()-1),这里s是一个字符串。由于第三个参数最终可能为负,因此我需要子例程来忽略这些情况。
我收到以下错误:
return-statement with no value, in function returning ‘std::string& {aka std::basic_string<char>&}’ [-fpermissive].
我有两个问题。
1)有什么办法可以使我从具有除void以外的返回类型的函数中返回任何内容。
2)什么时候可以使用无空或NULL的return关键字。
1)有什么办法可以使我从具有void以外的返回类型的函数中返回任何内容。
否。如果您希望程序正常运行,则不会。
2)什么时候可以使用无空或NULL的return关键字。
您return
只能在返回类型为的函数中不使用任何关键字void
。您可以在具有指针(非引用)类型作为其返回类型的任何函数中使用return
关键字with NULL
。
根据NULL
我的定义方式,我想您也可以NULL
从函数中返回int
其返回类型,但是仅返回0会更有意义。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句