gpt4 book ai didi

c++ - 为什么构造函数不能推断模板参数?

转载 作者:IT老高 更新时间:2023-10-28 13:22:47 24 4
gpt4 key购买 nike

template< class T >
class Foo {
public:
Foo( T t ) { }
};

int main () {
int i = 0;
Foo f( i );
}

在上面的代码中,编译器提示在 'f' 之前缺少模板参数。我知道从构造函数的参数推断类的模板参数不是标准的一部分,但我的问题是为什么?编译器是否没有隐式实例化所需的所有信息Foo<int>并调用它的构造函数?

经过编辑以明确我使用 int 调用构造函数(与 shortlongvoid* 等相反)

最佳答案

因为没有人具体说明它是如何工作的。目前有一个向标准委员会提交的提案,以使其发挥作用。它还列出了一些困难:

http://open-std.org/JTC1/SC22/WG21/docs/papers/2015/n4471.html

更新:这是提案的最新版本:

http://open-std.org/JTC1/SC22/WG21/docs/papers/2015/p0091r0.html

关于c++ - 为什么构造函数不能推断模板参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29677505/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com