C++ 模板类型确定问题
大神帮忙看一下下面的代码为什么不能编译通过
既然auto可以推导出{1,2,3,4}的类型,然后调用printElements函数,那下面直接用{1,2,3,4}去调用就会提示不能确定类型呢?
#include <iostream>
#include <string>
using namespace std;
template <typename Type>
void printElements(const Type& col)
{
for(const auto &item : col){
cout << item << endl;
}
}
int main()
{
auto a = {1, 2, 3, 4};
printElements(a); //OK
printElements({1, 2, 3, 4}); //ERROR: couldn't deduce template parameter ‘Type’
return 0;
}
既然auto可以推导出{1,2,3,4}的类型,然后调用printElements函数,那下面直接用{1,2,3,4}去调用就会提示不能确定类型呢?
...全文
相关推荐
C++头文件使用
头文件的使用规范 凑数 凑数 要要要切克瑙
c++类模板template中的typename使用方法
在一个特定的时期,由于历史、技术、思想等各方面的因素,设计总会向现实做出一定的让步,出现一些“不完美”的设计,为了保持向后兼容,有些“不完美”的历史因素被保留了下来。现在我可以理解经常为人所诟病的Windows操作系统,Intel芯片,IE浏览器,Visual C++等,为了保持向后兼容,不得不在新的设计中仍然保留这些“不完美”,虽然带来的是更多的优秀特性,但有些人却总因为这些历史因素而唾弃它们,也为自己曾有一样的举动而羞愧不已。,一查才发现原来它是一种非常高级的技术,在更现的高级语言中已经很普遍。
C++ .h和.cpp文件总结
总结了.h文件能做什么,.cpp文件能做什么,总结了.h文件的本质,方便新手在遇到文件包含、类型声明、变量定义时能理清.h与.cpp关系,纯属个人总结文档。
cpp代码-C++基础
cpp代码-C++基础
33个c++重要知识总结(cpp代码)
c++基础知识复习,包含了33个cpp文件,每个文件包含特定主题的知识回顾,使用特定案例重温某些不常用但是重要的算法或函数的使用方法,含注释。


