【发布时间】:2013-05-30 19:49:28
【问题描述】:
您好,我想在其他函数中调用对象函数,但我不能。为什么?
class class1
{
private:
int var;
public:
class1(int x);
void functionO();
};
class1::class1(int x)
{
var = x;
}
void class1::functionO()
{
cout<<"text";
}
void Callfunction()
{
object1->function0();
}
int main()
{
class1 *object1;
object1 = new class1(x);
Callfunction();
}
编译器说
'object1' : 未声明的标识符
这似乎合乎逻辑,但我如何在函数中调用该对象函数?
【问题讨论】:
-
根本不在那个范围内。如果您需要共享变量,请使用参数,或 shudder 全局。
-
你不需要那个
new,你也没有释放那个内存。使用class1 object1(x);。 -
你可能来自java或c#?因为
object1 = new class1(x);只是不必要的复杂性。只需使用class1 object1(x); -
附带说明:我建议不要在函数名称的末尾使用“O”,因为它很容易与数字“0”混淆。看起来你已经完成了。