2012-07-19 71 views
0

有什么错在下面的情形语法方面如下:指针引用级分配

如果我有类Foo和一类Foo1和我的Foo类有一个类型Foo1的私有成员:

.h文件中:

class Foo{ 
    Foo1 *oFoo; 
public: 
    Foo(Foo1 &Fooy); 
} 

.cc文件:

Foo::Foo(Foo1 &Fooy){ 
    oFoo = &Fooy; 
} 

的是在上面的构造函数中赋值合法?我是C++新手,请尽快以任何方式提供帮助。

谢谢! MyName。

回答

1

应该oFoo而不是Foo,成员应该在初始化列表初始化:

Foo::Foo(Foo1 &Fooy): oFoo(&Fooy) { 
} 

否则它的罚款。考虑让构造函数explicit来防止不需要的隐式转换。

+0

我发现了错误!这不是在我发布的问题中的代码,但谢谢你! – anpatel 2012-07-19 22:03:51