我有一個類Foo
它看起來像這樣無法轉換這個指針
class Foo
{
public:
void set_bar(int val)
{
_bar = val;
}
protected:
int _bar;
};
其由被聲明爲
Baz
類繼承
如下:
class Baz
: public Foo
{
public:
void set_baz(int val)
{
_baz = val;
}
protected:
int _baz;
};
,然後我有一個Factory
類包含類型爲Baz
的成員變量。
class Factory
{
protected:
Baz _baz;
public:
const Baz& get_baz() const
{
return _baz;
}
};
如果我用Factory
這樣的:
Factory f;
f.get_baz().set_bar(1);
它拋出這個error C2662: 'Foo::set_bar' : cannot convert 'this' pointer from 'const Baz' to 'Foo &'
我不用在實際代碼中用下劃線來加我的代碼,謝謝你的閱讀。 – SimpleButPerfect 2011-02-05 14:47:12