2 に答える
4
前の回答を参照してください。また、別の解決策は次のように定義することであることも付け加えておきますdo_eval2
。
template <typename T, typename D = proto::callable>
struct do_eval2 : proto::callable
{
typedef T result_type;
template <typename X, typename Y>
result_type operator()(proto::tag::plus, X x, Y y) const { return x + y; }
};
追加のダミー テンプレート パラメータに注意してください。
編集: また、現在開発中の Proto の次のバージョンでは、このアルカナについて知る必要はなく、問題なく動作するはずです。数週間後に C++Now でそれについて話します。
于 2013-05-01T15:22:49.960 に答える