テンプレートとファンクター(この質問にはありません)で遊んでいるときに、次の単純化された問題が発生しました。
次のコード (ここでも入手可能)
class A {
public:
template <class T>
bool isGood(int in) const {
const T f;
return in < f.value();
}
};
class B {
public:
int value() const {return 10;}
};
template <class T>
bool tryEvaluator(T& evaluator, int value) {
return evaluator.isGood<B>(value);
}
int main( int argc, const char* argv[] ) {
const A evaluator;
evaluator.isGood<B>(20); //Seemingly no problem here
tryEvaluator(evaluator,20);
return 0;
}
エラーを生成します
main.cpp:18:34: error: expected primary-expression before ‘>’ token
return evaluator.isGood<B>(value);
^
私がやろうとしていることを実行することは可能ですか? たとえば、キーワードを追加する必要がありますか?
そして、副次的な質問ですが、質問の名前を変更するにはどうすればよいですか?