> error: request for member `func' in `c(A)', which is of non-aggregate type `C ()(A)'

おもいっきり、関数として認識されてんじゃねーか。
いいかげんに気付けよ。

C c(A(1.0)); // 1.0で初期化した class A の一時オブジェクトで class C のローカル変数 c を初期化して定義
C c(A(x)); // class C を戻り値とし、 class A の引数を一つ(仮引数名 x で)受け取る関数 c を宣言