失礼。ちょっと修正
class A {
protected:
int i;
static int j;
void Hoge() {}
};

class B : public A
{
protected:
int k;
};

class C : public B {
public:
void Func(B& b) {
b.Hoge(); // <- これがエラーになる
b.i = 1; // エラー
b.j = 2; // staticなのでエラーではない
b.k = 3; // エラー
}
};