如何访问没有参数的函数

how to access a function without the parameter?

本文关键字:参数 函数 何访问 访问      更新时间:2023-10-16

请参阅我有一个带有函数"add"的文件,如下所示

 #pragma once;
 class fun {
     boolean s_function(){
         if(s.size() > 2) {
             return true;
         }
         return false;
     }
 };

然后我有另一个文件

#include <iostream>
using namespace std;
int main() {
    fun x;
    string s = "wtf";
    cout << x.s.s_function() << endl;
}

我可以看出x.s.s_function()很奇怪,不会工作。那么,如何在第二个文件中正确地调用这样一个没有参数的函数呢?

s_function是fun类的成员,因此正确的方法是:

bool s_function(std::string s)
{
}

然后称之为:

x.s_function(s);

它将返回一个你可以使用的bool

否则,第一个文件不知道字符串s存在于第二个文件中,这是因为s有一个本地作用域(这意味着它在调用main时创建,在main结束时删除,但在该时间段之外不存在)。

将其传递给s_function将创建一个副本供s_function使用。然而,s_function实际上无法修改main()中声明的字符串s,因为它实际上有一个副本。(为了更改主项,它需要通过引用传递。)

希望能有所帮助。