みなさんありがとうございます。

class Address {
  public:
    operator in_addr() const;
}

Address::operator in_addr() const {
  struct in_addr addr;
  ...
  return addr;
}
のようなものを用意したらできちゃいました。なぜか。
コンパイラ(gcc-2.96)も文句を言わないし、出来た実行ファイルの
動作も期待通りになりました。

でまた質問なんですけど、なんでこれ返り値が必要無いんでしょうか。