Here is the code,
Code:
class B1
{
};

class B2
{
public:
	B2() : m_var(string("")) {}
	string& m_var;
};

class D : public B1, public B2
{
public:
	D(string str);
};

D::D(string str) : B1() , m_var(str)
{
}

int main()
{
	D d("abc");
	cout<<d.m_var<<endl;

	return 0;
}
I am getting a compiler error "error C2614: 'D' : illegal member initialization: 'm_var' is not a base or member". Why? Thanks.