作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
A template-id is valid if
- there are at most as many arguments as there are parameters or a parameter is a template parameter pack ([temp.variadic]),
- there is an argument for each non-deducible non-pack parameter that does not have a default template-argument,
- each template-argument matches the corresponding template-parameter ([temp.arg]),
- substitution of each template argument into the following template parameters (if any) succeeds, and
- if the template-id is non-dependent, the associated constraints are satisfied as specified in the next paragraph.
A simple-template-id shall be valid unless it names a function template specialization ([temp.deduct]).
考虑以上代码,在这种情况下,第二个模板参数template<typename T, typename U>
struct Test{};
int main(){
using type = Test<int>;
}U
non-deducible
是吗?在标准中似乎没有正式的术语来解释什么是non-deducible
。non-deduced context
仅有一个定义,但是我认为它们不一样。那么我如何理解non-deducible
的用语呢?使用这样的措词(尚无正式定义)还不清楚吗?
题
Test<int>
是无效的模板ID,在上面的列表中它违反了哪个项目符号?
non-deducible
是指什么?
不参与模板参数推导的模板参数是否可以称为 non-deducible
?
最佳答案
这只是英文。 “可推论”是指“可以推论”。 C++有一个well-defined process for deducing template arguments。如果一个论点是“可推论的”,那么它是一个推论过程成功的论据,因此是“可以推论的”。
“不可推论”简单地表示“不可推论”。因此“无法推论”。因此,此模板参数推导过程失败。
因此,这就是说“每个非压缩参数都有一个参数,其参数不能通过模板推导过程推导”。没有什么不清楚的。
关于c++ - `non-deducible`的正式定义是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63045748/
我正在使用bootstrap templates与 angular-formly我想将 addonsLeft.text 绑定(bind)到模型,以便一旦选择选项发生更改,它就会动态更改。 这是输入的样
我正在尝试以 mm/dd/yyyy 格式向我的列添加一天,但它为我提供了 newdate 的空输出 日期1 = 27/03/2019 SELECT date1,DATE_ADD(CONCAT(date
我是一名优秀的程序员,十分优秀!