Error C2082: переопределение формального параметра "arr" - C (СИ)
Формулировка задачи:
Задача такая: нужно два массива записать в один
#include <iostream>
#include <math.h>
#include <conio.h>
#include <time.h>
#include <math.h>
using namespace std;
int *createArr(int size){
int *arr=new int [size];
for(int i =0; i <size;i++){
*(arr+i)=rand()%10;
}
return arr;
}
int *Arr3(int *arr, int *arr2, int size){
int *arr, *arr2=new int [size]; //почему в этом месте ошибка не пойму
int *arr3=new int [*arr+*arr2];
return arr3;
}
void show(int *arr, int size){
for(int i=0; i<size;i++){
cout<<*(arr+i)<<" ";
}
cout<<endl;
}
void main(){
setlocale(LC_ALL, "rus");
int size=5;
int *mas=createArr(size);
show(mas,size);
int *mas2=createArr(size);
show(mas,size);
int *mas3=Arr3(mas, mas2,size);
show(mas,size);
}Решение задачи: «Error C2082: переопределение формального параметра "arr"»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
//-----------------------------------------------------------------------------
int* createArr(unsigned size)
{
int* arr = malloc(sizeof(int) * size);
unsigned i;
for (i = 0; i < size; ++i)
{
arr[i] = rand() % 10;
}
return arr;
}
//-----------------------------------------------------------------------------
void show(int* arr, unsigned size)
{
unsigned i;
for (i = 0; i < size; ++i)
{
printf("%d ", arr[i]);
}
printf("\n");
}
//-----------------------------------------------------------------------------
int* merge(int* arr1, unsigned size1, int* arr2, unsigned size2)
{
int* arr = malloc(sizeof(int) * (size1 + size2));
memcpy(arr, arr1, sizeof(int) * size1);
memcpy(arr + size1, arr2, sizeof(int) * size2);
return arr;
}
//-----------------------------------------------------------------------------
int main()
{
unsigned size = 5;
int* mas1, * mas2, * mas3;
srand(time(NULL));
mas1 = createArr(size);
show(mas1, size);
mas2 = createArr(size);
show(mas2, size);
mas3 = merge(mas1, size, mas2, size);
show(mas3, 2 * size);
return 0;
}