默认参数的类模板问题
程序代码:
#include<iostream> using namespace std; template<typename AType=int,int size = 10> class atype { public: atype() { int i; for(i=0;i<size;i++) array[i]=i; } AType& operator[](int n); private: AType array[size]; }; template<typename AType,int size>AType& atype<AType,size>::operator [](int n) { if(n<0||n>=size) {cout<<"下标"<<n<<"超出范围!!!"<<endl; exit(1); } return array[n]=n; } int main() { atype<int,12>intob; atype<double>doubleob; atype<>defaultob; int i; cout<<"int数组:"; for(i=0;i<12;i++) intob[i]=i; for(i=0;i<12;i++) cout<<intob[i]<<" "; cout<<endl; cout<<"double数组:"; for(i=0;i<10;i++) doubleob[i]=(double)i/2; for(i=0;i<10;i++) cout<<doubleob[i]<<" "; cout<<endl; cout<<"默认数组:"; for(i=0;i<10;i++) for(i=0;i<10;i++) cout<<defaultob[i]<<" "; cout<<endl; return 0; }我明明设置了doubleob[i]=(double)i/2;
可是为什么输出却是0 1 2 3 4 5 6 7 8 9啊