>>510
それもそうだな。
なんか問題の部分を抽出したらこうなってしまった。
しかもfooがfooを呼び出す定義になってるし。

てことで修正。
class Base
{
public:
Base& foo(Base x);
Base& bar(Base& x){/*適当な処理*/return x;}
};

Base& Base::foo(Base x)
{
this->bar(static_cast<Base>(x));//�@
return *this;//�A
}
と定義した。
・・・この最後の�@�Aを1行にまとめることはできない?