在void参数函数中,c ++模板参数推导/替换失败

时间:2016-05-08 17:53:08

标签: c++ templates c++11 value-type

我尝试在链表中实现简单的get()函数,它可以存储各种类型的数据

(一个列表可以在每个节点中存储char,string,int,float,...)

scanf ("Value of integer:%" SCNu64, & my_integer);

如果我不使用这个方法,那么编译成功,但是当我使用它时,它就会出错。

  

模板参数扣除/替换失败:

     

无法推断模板参数'value_type'

我发现了一些类似的问题,但所有情况下编译器都可以从参数中推断出类型

我想我会在get()中写一些代码,但我找不到解决方案。

1 个答案:

答案 0 :(得分:2)

由于函数不带任何参数,编译器无法从调用中推导出模板参数类型。所以你必须告诉编译器模板参数类型是什么。例如:

get<int>();

或使用您希望函数返回的任何其他类型。