C++ 如何实现未命名参数

C++ 如何实现未命名参数,c++,parameter-passing,C++,Parameter Passing,我有个问题 void setName(const string&); 如何实现上述代码?我需要编写this.name=…,但没有命名变量。只有&符号。您不需要在函数原型中包含显式参数名称。事实上,一些程序员故意省略了它们 只有在定义函数时,才需要提供参数名,并且只有在实际引用该参数时才需要提供参数名 因此在标题中,void setName(const string&)很好。这说明函数引用了字符串(&表示引用),并且不返回任何内容 但是当您定义函数时,如果您引用它,则需要提供一个参数。您

我有个问题

void setName(const string&);

如何实现上述代码?我需要编写
this.name=…
,但没有命名变量。只有
&
符号。

您不需要在函数原型中包含显式参数名称。事实上,一些程序员故意省略了它们

只有在定义函数时,才需要提供参数名,并且只有在实际引用该参数时才需要提供参数名

因此在标题中,
void setName(const string&)很好。这说明函数引用了
字符串
&
表示引用),并且不返回任何内容


但是当您定义函数时,如果您引用它,则需要提供一个参数。

您的头文件有以下内容

class MyClass
   {
   string name;
public:
   void setName(const string&);
   };
您的实现文件可以包含以下内容

void MyClass::setName(const string& s )
   {
   this->name = s;
   }

是什么阻止了您添加一个呢?您只需在实现中给它一个名称:
void setName(const string&s){/*..*/}
,因为我有一个头文件,我无法更改它。@AnılA那么您就是SOL,因为如果它没有名称,您就不能使用它。您是否能够修改该功能的cpp实现?您可以在那里为变量命名。它不必与标题匹配。他只需在定义中命名即可。然而,他的限制显然是愚蠢的,而且过于本地化。而且,他不会在 >中找到这个名字。C++中的名称< /代码>