我在C ++中有两个类
Class A
{
public:
int v;
}
Class B
{
public :
void calculation ();
}
void B::calculation ()
{
int i;
for (i= 1; i < object_a.v ;i++)
{
//some body
}
}
//now I have created an object for class A and for that object I have
//got some value for "v"
int main ()
{
A object_a();
cout << "The value of variable v in class A is" << object_a.v << ;
}
对于上面的示例代码,我尝试使用在类B中定义的另一个函数中使用object_a检索的变量。但是它会引发未声明的错误。有人可以帮我在这里如何去做吗?
PS:我在编译函数时遇到错误&#34;计算()&#34;在B类
答案 0 :(得分:5)
A object_a();
未定义类型为A的变量object_a。它声明了一个名为object_a
的函数,它返回一个A
类型的值,并且不接受任何参数。
答案 1 :(得分:1)
如果方法B::calculation
需要使用类A的对象,则可以将其作为参数传递给方法。在这种情况下,您应该使用参数
例如
void calculation ( const A &object_a ) ;
//...
void B::calculation ( const A &object_a )
{
int i;
for (i= 1; i < object_a.v ;i++)
{
//some body
}
}
考虑到这个陈述
A object_a();
是一个返回类型为A且没有参数的函数声明。你应该写一下
A object_a;
此外,您的代码还包含其他错误,例如在类定义后没有分号。