2011-11-12 51 views
-1

我有一个函数,它有两个参数,两个对象。我在函数内部更改这些对象,然后我需要看到更改。但指针不起作用。任何想法?更改函数内的对象

void foo(apple &a,apple &b) 
{ 
    //change a and b 
} 
main() 
{ 
    apple a,b; 
    foo(a,b); 
    //a and b are the same as befor calling foo ` 
} 

谢谢。

+0

你是如何“改变”这个对象内的方法? – madth3

+6

请发布一些*实际*编译代码,证明问题。传递对象的原则应该是正确的。 –

+0

和指针也应该很好地工作 –

回答

1

你的意思是改变你传递的类的方法吗?如果这就是你的意思,你需要使用' - >'。

class apple { 
    public: 
     int weight; 
} 

void foo(apple *a,apple *b) { 
    a->weight = b->weight; 
} 

main() { 
    apple a,b; 
    foo(&a,&b); 
} 
+0

非常感谢。有效。 – Pegah