次のような構造体があります。
struct foo_t
{
template <std::size_t x, std::size_t y>
std::size_t operator()() const
{ return /*something dealing with x and y*/; }
};
定義はうまくコンパイルされているようですが、どうすれば呼び出せますか? 私はコンパイラを過ぎて何も得られないようです:
foo_t foo;
foo<3, 3>(); // ERROR: Compiler seems to think I'm asking for "foo < 3 ..."