正文

c++模板学习笔记(1)2009-09-13 15:48:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/bigpig/47631.html

分享到:

今天在学习C++的时候遇到一个问题,就是编译的时候总是提示一个一个错误,错误信息如下:  error C2087: '<Unknown>' : missing subscript 源代码如下: #include<iostream.h>#include<stddef.h>template<int R,int C,typename T>int init(T a[R][C]){  for(int i=0;i<R;i++)  for(int j=0;j<C;j++)   a[i][j]=i*j;    for(int k=0;k<R;k++)  for(int l=0;l<C;l++)  {   cout<<"k="<<k<<"l="<<l<<endl;   cout<<a[k][l]<<endl;  } return 1;}int main(){ int a[10][20]; init<10,20,int>(a); cin.get(); return 0;} 检查了半天才发现是因为编译器不支持动态数组的缘故,函数在应用时参数要采用指针的格式。 现将代码修改如下: #include<iostream.h>#include<stddef.h>template<int R,int C,typename T>int init(T (*a)[C]){  for(int i=0;i<R;i++)  for(int j=0;j<C;j++)   a[i][j]=i*j;    for(int k=0;k<R;k++)  for(int l=0;l<C;l++)  {   cout<<"k="<<k<<"l="<<l<<endl;   cout<<a[k][l]<<endl;  } return 1;}int main(){ int a[10][20]; init<10,20,int>(a); cin.get(); return 0;} 解决此问题浪费了很长时间,还希望大家共勉

阅读(2013) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册