c – 模板问题

c – 模板问题,第1张

概述为什么我能做到这一点: #include <iostream>#include <algorithm>#include <vector>using namespace std;void myfunction (int i) { cout << " " << i;}int main () { vector<int> myvector; myvector.push_back 为什么我能做到这一点:

#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 belowreturn 0;}

但不能这样做:

template<class T>    voID myfunction (T i) {          cout << " " << i;        }

我怀疑它与args演绎有关,但令人气愤的是“常规”fnc被接受而模板不被接受.

解决方法 问题是您无法创建指向模板函数的指针.您应该能够创建指向实例化模板函数的指针.我没试过这个,但以下应该有效:

for_each (myvector.begin(),myfunction<int>)
总结

以上是内存溢出为你收集整理的c – 模板问题全部内容,希望文章能够帮你解决c – 模板问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1222243.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存