我找不到任何关于C++模块和概念交互的东西。从模块中导出概念的语法正确吗?
export module Module;
template <typename S>
export concept sequence = true;发布于 2020-09-29 08:54:35
export导出声明。概念定义是一个声明,因此可以导出。就导出工作的结果而言,它的工作方式与导出任何其他声明一样。
对于特定的语法,export被应用于“声明”语法规则。“模板声明”是一种“声明”。“模板声明”包括模板头部,但“模板声明”的语法定义是it's a "template-head" followed by a "declaration"或“模板头部”后跟“概念定义”。
所以从语法上讲,如果你想export一个概念定义,你必须在模板头之前完成,因为concept-definition没有把export作为有效的语法。
然而,如果你想知道如何导出常规的模板,人们可能会认为,从这个语法来看,export可以出现在“模板头部”之前或之后。但是,standard specifically says this
模板声明的声明不能是导出声明。
由此,我们得出结论,所有模板都将export放在template-head之前。
https://stackoverflow.com/questions/64110425
复制相似问题