Questo è il tuo codice scritto in maniera più ordinata:
#include <iostream>
using namespace std;
void cat(int ar1[], int ar2[], int l1, int l2)
{
int LT = l1 + l2;
int ar3[LT];
for(int i = 0; i < l1; i++)
{
ar3[i] = ar1[i];
}
int count = 0;
for(int j = l1; j < LT; j++)
{
ar3[j] = ar2[count];
count = count + 1;
for (int f = 0; f < LT; f++)
{
cout << ar3[f];
}
}
};
int main()
{
int N1 = 5;
int N2 = 5;
int N = N1 + N2;
int primo[N1];
int secondo[N2];
for(int i = 0; i < N1; i++)
{
cout << "Dammi un valore per riempire il primo array: ";
cin >> primo[i];
}
for(int j = 0; j < N2; j++)
{
cout << "Dammi un valore per riempire il secondo array: ";
cin >> secondo[j];
}
cat(primo, secondo, N1, N2);
}
noti niente di strano?
P.S.
Secondo lo standard C++ la dimensione di un array statico deve essere una costante.