如何阻止我的函数返回 0
How do I stop my function from returning 0?
我知道该函数必须返回一个整数,但是在其中,我以大写字母逐个字母打印,并且它还打印出我被迫返回的0。我尝试引用void capital(string& _name)
但这给了我很多错误。我想我需要在for
内返回一些东西,但我没有更多的想法。我能做什么?
int capital(string& _name){
locale loc;
for(std::string::size_type i = 0; i < _name.length(); i++){
cout << std::toupper(_name[i], loc);
}
return 0;
}
int main(){
string name = "robbie";
cout << capital(name) << endl;
system("pause");
return 0;
}
更改以下内容:
cout << capital(name) << endl;
对此:
capital(name);
cout << endl;
让它返回一个字符串。请注意,我不会在capital
中输出字符串,只是构造一个新的大写字符串并返回它,但除此之外,逻辑与原始版本非常相似。
#include <string>
#include <iostream>
std::string capital(const std::string& _name){
std::locale loc;
std::string name_copy = _name;
for(std::string::size_type i = 0; i < name_copy.length(); i++){
name_copy[i] = std::toupper(name_copy[i], loc);
}
return name_copy;
}
int main(){
std::string name = "robbie";
std::cout << capital(name) << std::endl;
return 0;
}
您绝对可以将函数的返回类型更改为 void。您的问题是如何在 main 方法中调用函数。
您的capital()
方法已经在执行cout
,因此在您的main()
中,更改:
cout << capital(name) << endl;
自:
capital(name) << endl;
相关文章:
- 为什么将值返回函数传递给重载=运算符对运算符函数有效,而对其他运算符无效
- 编译器警告:执行到达值返回函数的末尾而不返回值
- 接收和返回函数指针的函数指针的类型?
- 我的动态链接队列在同一输出流中调用时不正确地输出三个返回函数
- C++函数链返回函数
- 返回函数指针的函数的签名
- 由于值返回函数中的错误,程序无法编译.它说未声明的标识符
- 非常量引用返回函数在常量值返回函数上用作 r 值
- 如何在 C++ 中从 void 返回函数访问变量
- 返回函数中带有 2 个可选 ctor 的对象
- 如何在 c++ 中返回函数的结构向量
- 返回 C++ 函数中的引用
- 使用向量时,当返回函数更改时,无法看到输出
- 如何在递归中使用返回函数
- 返回函数模板的类型C++作为第二个模板参数
- 为什么静态指针返回函数中有一个"静态"键?
- 递归返回函数,在特殊情况下不返回
- 从类返回函数
- 从类成员函数返回函数指针
- 从返回函数中推断不存在的模板参数