In C, arrays passed as parameters are just pointers to the base of the array. The function declaration
send(int array[50])
is the interpreted as
send(int *array)
The size of the array is lost. Within "send()" your code must assume the size of the array is 50. Usually is is passed in as another parameter. That still won't help with your debugger watch. If you really really really want debugger watch visibility, you might have to put your array in a structure, eg
typedef struct
{
int n; /*Optional stuff*/
uint8_t* Date[50];
} DateStr;
int send(linkID_t Link,DateSt* Date);
void main (void)
{
linkID_t Linkk;
DateStr my_variable3;
int Back;
my_variable3.n = 50;
my_variable3.Date[0] = 0;
Back=send(Linkk,&my_variable3);//Here is the error
}
int send(linkID_t Link,DateStr* Date)
{
int Back;
Date->Date[0] = 1;
return Back;
}
There are probably ways to force the debugger watch window to show more than one element.