【发布时间】:2016-07-29 05:14:06
【问题描述】:
#include <string>
struct Person
{
Person(std::string name) {
}
std::string greet(std::string other_name)
{
name="Joe";
return "Hi " + other_name + ", my name is " + name;
}
std::string name;
};
使用 greet 函数,我希望返回一个名称(例如 John),但是,正如它所写的那样,该函数什么也不返回。在“我的名字是”字符串之后是空白的。
如何在结构体中正确分配 name 的值,以便获得正确的返回值?
感谢您在正确方向上的任何推动!
【问题讨论】:
-
不太清楚“正确”的返回值是什么。应该是
Hi X my name is Joe还是别的什么?我猜我会说您希望使用传递给构造函数的值?如果您包含一个小的 main 函数来显示如何使用Person,它可能会使您的意图更加清晰。 -
你使用什么编译器?对我来说,您的代码按预期工作。
-
发布一个完整的程序(即调用函数的主程序)来演示问题!
-
您在未显示的代码中有一个错误。您需要发布minimal reproducible example。我不明白这怎么能得到投票。
-
抱歉,内容不够清晰。我正在处理的这个功能是在线交互式程序的一部分。 main在服务器端处理,我应该设计greet函数,这样调用的时候会显示一个问候语,格式为:“Hi other_name, my name is name” 不过我是个新手并且很少接触到数据结构的正确处理和设计。我相信我的问题与将名称值分配给结构中的其他内容有关,并在函数中调用该新分配。
标签: c++ function struct variable-assignment