不知为啥,前几个都没事,最后一个数组越界
#include <iostream>
#include <iomanip>
#include<math.h>
#include<algorithm>
using namespace std;
template<typename T>
void cheak(T arr, T arry)
{
for (int i = 0; i < 6; i++)
{
arry[i] = arr[i];
}
sort(arry, arry + 6);
int f = 1;
for (int i = 0; i < 6; i++)
{
if (arry[i] == arr[i])
{
}
else
{
f = 0;
break;
}
}
if (f == 1)
{
cout << "Valid";
}
else
{
cout << "Invalid";
}
}
template<typename T>
void sey(T arr, T arry)
{
int n = 6;
for (int n = 0; n < 6; n++)
{
cin >> arr[n];
}
cheak(arr, arry);
}
int main()
{
char type;
while (cin >> type)
{
if (type == 'c')
{
char arry[5]; char arr[5]; sey(arr, arry);
}
if (type == 'i')
{
int arry[5]; int arr[5]; sey(arr, arry);
}
if (type == 'f')
{
float arry[5]; float arr[5]; sey(arr, arry);
}
cout << endl;
}
}
见图
把56,60,64行的5换成6试试