>>421
> C c(B(1.0))とすると通らないのです。
本当にそれが通らないのか?
 double x = 1.0;
 C c( B(x) );
 c.member( ... );
は通らない( 2行目が、B型の引数xを取ってC型を返す関数cの
宣言と見なされる )が。