^演算子のオーバーロードして、XOR->乗算にしようと思っているのですが、

double operator^( const double lhs, const double rhs )
{
 return pow(lhs,rhs);
}

のコンパイルが通りません。
error: ‘double operator^(double, double)’ must have an argument of class or enumerated type
というエラーが出てきます。
どうしたら良いのでしょうか?