組み込み演算子の関数ポインタを参照したいのですが、具体的な型オーバーロードの指定方法がわかりません。
次のテンプレート クラス シグネチャがあります。
template<typename ParamsType, typename FnCompareType>
class MyAction
{
public:
MyAction(ParamsType& arg0, ParamsType& arg1, FnCompareType& fnCpmpare)
: arg0_(arg0), arg1_(arg1), fnCompare_(fnCpmpare) {}
bool operator()()
{
if((*fnCompare_)(arg0_,arg1_)
{
// do this
}
else
{
// do s.th. else
}
}
private:
ParamsType& arg0_;
ParamsType& arg1_;
FnCompareType& fnCompare_;
}
そして、次のような構文を使用したい:
void doConditional(int param1, int param2)
{
MyAction<int,&::operator>=> action(param1,param2);
if(action())
{
// Do this
}
else
{
// Do that
}
}
しかし、それはコンパイルされません:
error: ‘::operator>=’ has not been declared
このような固有の静的操作を参照するにはどうすればよいですか?