클래스 Foo
이이 포인터를 변환 할 수 없습니다.
class Foo
{
public:
void set_bar(int val)
{
_bar = val;
}
protected:
int _bar;
};
Baz
다음과 같이 선언 된 클래스
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