c – 模板问题
发布时间:2020-12-16 10:42:44 所属栏目:百科 来源:网络整理
导读:为什么我能做到这一点: #include iostream#include algorithm#include vectorusing namespace std;void myfunction (int i) { cout " " i;}int main () { vectorint myvector; myvector.push_back(10); myvector.push_back(20); myvector.push_back(30); co
为什么我能做到这一点:
#include <iostream> #include <algorithm> #include <vector> using namespace std; void myfunction (int i) { cout << " " << i; } int main () { vector<int> myvector; myvector.push_back(10); myvector.push_back(20); myvector.push_back(30); cout << "myvector contains:"; for_each (myvector.begin(),myvector.end(),myfunction);//<-------See below return 0; } 但不能这样做: template<class T> void myfunction (T i) { cout << " " << i; } 我怀疑它与args演绎有关,但令人气愤的是“常规”fnc被接受而模板不被接受. 解决方法
问题是您无法创建指向模板函数的指针.您应该能够创建指向实例化模板函数的指针.我没试过这个,但以下应该有效:
for_each (myvector.begin(),myfunction<int>) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c# – 在WebBrowser中调用脚本,等待它完成运行(同步)
- c – Boost自动链接不是由Boost构建的库,但是构建了预期的库
- Flex 为Label设置用户光标useHandCursor
- Ruby中类的一部分转为单独的类
- selenium之 chromedriver与chrome版本映射表(更新至v2.34)
- XmlSerializer生成xml文件(备份短信)
- C#在MYSQL中存储DateTime到Timestamp列
- ruby-on-rails – 找不到有效的gem install activerecord-s
- ruby-on-rails – Vagrant和guest的Gemfile冲突
- Oracle12.2 RAC集群管理之增加删除节点_Oracle12cR2视频教程