2012-07-19 79 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