>>397
確かにそうでした。書き直します。

class Base1 { protected : int x; };
class Base2 { protected : int x; };
class Foo ; public Base1, Base2 {
  public:
  Foo(int x) : x(x);
}

で、これが曖昧だってのは、納得。
2つの派生元クラスの、それぞれの x を初期化する方法としては、
各派生元クラス (Base1, Base2) に、自クラスのメンバ x を初期化するコンストラクタをそれぞれ用意して、
それら2つのコンストラクタを Foo のコンストラクタから呼んでやる、ってことね。