首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么构造函数不能推断模板参数?

为什么构造函数不能推断模板参数?
EN

Stack Overflow用户
提问于 2015-04-16 22:18:51
回答 1查看 4.1K关注 0票数 58
代码语言:javascript
复制
template< class T >
class Foo {
public:
  Foo( T t ) { }
};

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

在上面的代码中,编译器抱怨'f‘前缺少模板参数。我知道从构造函数的参数中推导出类的模板参数不是标准的一部分,但我的问题是为什么?编译器不是已经具备了隐式实例化Foo<int>并调用其构造函数所需的全部信息吗?

编辑以清楚地表明我使用int (而不是shortlongvoid*等)调用构造函数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-16 22:29:44

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

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

更新:以下是该提案的最新版本:

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

票数 36
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29677505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档