考虑以下内容:
class A;
std::function<A(A)> f;
显然这是您想在程序中完成的事情。任何主要编译器都可以毫无问题地接受。
我的问题是:是否符合技术标准?
如果我看得正确,章节
20.5.4.8其他函数
禁止在实例化时使用不完整类型的模板参数,除非另有规定(不仅适用于容器)。
在关于std::function
或<functional>
的章节中,我没有看到允许此操作的参考。
有人知道这是在标准的哪个位置明确写出来的吗?
考虑以下内容:
class A;
std::function<A(A)> f;
显然这是您想在程序中完成的事情。任何主要编译器都可以毫无问题地接受。
我的问题是:是否符合技术标准?
如果我看得正确,章节
20.5.4.8其他函数
禁止在实例化时使用不完整类型的模板参数,除非另有规定(不仅适用于容器)。
在关于std::function
或<functional>
的章节中,我没有看到允许此操作的参考。
有人知道这是在标准的哪个位置明确写出来的吗?