C++同类下成员函数的互相调用

我写了两个成员函数,都放在一个类下面,其中一个需要调用另一个,该如何调用?
我写法是这样的(简略过了):
class A

{
public:
int B();
private:

int C();

}

int A::B()
{
int C();//这里编译有问题,无论C是public,private都编译不过,但是把这行去掉,编译又能过了。。。。。

}

int A::C()
{
...........

}
那个调用里面的Int 是我多打的。。。程序里面没有int ,打错了。。

函数调用的时候直接调用就写,你这写的是函数原型了:
class A

{
public:
int B();
private:

int C();

}

int A::B()
{
C();//直接调用C函数即可

}

int A::C()
{
...........

}追问

不好意思,是我打错了,前面没有int的。。。但是编译不过

追答

那是报什么错误呢,把报错提示发上来:

正常情况下是不会报错的:

#include<iostream>
using namespace std;
class A
{
public:
int B();
protected:
private:
int C();
};
int A::B()
{
C();
return 0;
}
int A::C()
{
cout<<"Hello World!"<<endl;
return 0;
}
int main()
{
A objA;
objA.B();
return 0;
}

运行截图:

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-03
你那不是在调用函数c(x)而是在定义函数c(x);在函数b(x)中去掉函数c(x)前面的int就好追问

好意思,是我打错了,前面没有int的。。。但是编译不过

追答

那就不会错了!除非你还有别的错!再好好检查下吧

第2个回答  2013-05-03
C();实现放在B()前面试试追问

还是不行诶。。

追答

C()改为static试试,这都不行就是其他问题
等一下,
你函数中调用C()就出错了,
调用函数不需要带返回值类型
还有,类的声明最后要有分号记得不要缺少

相似回答