注册 登录
编程论坛 C++教室

我这个程序到底什么地方错了

山科大梦 发布于 2012-10-11 21:06, 345 次点击
#include<iostream>
using namespace std;
template<typename T>            
T sort(T*a,int n)                    
{
     for(int i=0;i<n;i++)
     {
         for(int j=n-1;j>i;j--)
         {
                if(a[j]<a[j-1])
                {
                         T temp=a[j-1];
                         a[j-1]=a[j];
                         a[j]=temp;
                }
         }
         }
      for(int k=0;k<n;k++) cout<<a[k]<<endl;         
      return 0;
}
int main()
{
     int a[5],n;            
     n=sizeof(a);            
     for(int i=0;i<n;i++)
         cin>>a[i];      
     sort(a,n);                                
     return 0;
}
3 回复
#2
寒风中的细雨2012-10-11 22:42
有什么现象?
#3
寒风中的细雨2012-10-11 22:44
越界   n=sizeof(a);             引起非法访问

sizeof(a)/sizeof(a[0])
#4
山科大梦2012-10-14 10:36
回复 3楼 寒风中的细雨
谢谢版主,懂了
1