我目前正在写我的第一个概念。编译器是使用 -fconcepts 调用的 g++ 7.2。我的概念是这样的:
template <typename stack_t>
concept bool Stack() {
return requires(stack_t p_stack, size_t p_i) {
{ p_stack[p_i] };
};
};
template <typename environment_t>
concept bool Environment() {
return requires(environment_t p_env) {
{ p_env.stack }
};
};
如您所见,Environment 应该有一个名为 stack 的成员。该成员应与 Stack 的概念相匹配。如何将这样的要求添加到环境中?