我有模板功能
template<typename A,typename B,typename C>
C fun(A a,B b)
{
return (string)(a+b);
}
我的主要是
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
auto c= fun(10,20.3);
cout<<c;
return a.exec();
}
如果我执行它,它说
在函数int main(int, char**)
错误:没有匹配函数来调用fun(int, double)
请让我知道为什么我不能这样做,或者这是错的?
答案 0 :(得分:0)
总之,您需要good C++ book;
首先,您不能在C ++中“简单地”将对象转换为select * , (select count(*) from LCI where username = ? and date= ? ) as thecount
from LCI
where username = ? and date= ?
,(C ++中的转换遵循我们无法在此处完全解释的一些原则 1 )。更糟的原始类型。对于数字类型,有一个函数std::to_string
其次,有一个称为template argument deduction的东西,它自动从用于实例化功能模板或类模板的参数中推导出模板参数(C + +17)。在,std::string
- 其中C fun(A a, B b)
都是模板类型。没有办法用一些进一步的巫术来推断A, B, and C
。或者您可以使用占位符返回类型C
?
1 再次,你应该得到good C++ book;