在 C++ 中使用对象进行函数调用

function call by function call with object in c++

提问人:Ghimire Suraj 提问时间:4/19/2023 最后编辑:mchGhimire Suraj 更新时间:4/20/2023 访问量:131

问:

我想通过在对象的帮助下调用函数来调用函数。 在这里,该函数没有完成其工作。show()folder()obj.folder() -> show();show()

#include<iostream>
using namespace std;
int count=0;

class file{
    int roll;
    public:
        void folder()
        {
            ++count;
            roll=count;
            void show();
        }
        void show(){cout<<roll<<endl;}
};
int main()
{
    file obj;
    obj.folder();
}
C++ 函数 对象 方法

评论

0赞 RKest 4/19/2023
在内部调用时去掉关键字voidshow()folder()
0赞 Richard Critten 4/19/2023
同时删除,因为也存在并导致警告 - 实时 - godbolt.org/z/ac11WMK5ousing namespace std;std::count
1赞 user12002570 4/19/2023
在任何初学者 c++ 书籍中都会解释调用函数语法。
1赞 molbdnilo 4/19/2023
void show();是一个函数声明。 是一个函数调用。show();

答:

4赞 user12002570 4/19/2023 #1

问题是您的函数调用语法 () 不正确。通过编写,您实际上是在声明一个名为的全局自由函数,该函数没有参数,返回类型为 。void show();void show();showvoid

调用该函数的正确方法是删除 ,如下所示:void

void folder()
{
//-v---------->removed void from here   
   show();
}

评论

0赞 Ghimire Suraj 4/19/2023
非常感谢你,多么愚蠢的错误,毁了我的 3 个小时。.
0赞 user12002570 4/19/2023
@GhimireSuraj 它发生了。别客气。
1赞 rasta armando 4/19/2023 #2

我的伙计,你没有在里面调用,你只是声明了一个全局函数。showfoldervoid show()

评论

0赞 Adrian Mole 4/21/2023
很难看出这给大约 10 分钟前发布的另一个答案增加了什么。