Eso no compila. No estás accediendo adecuadamente a la matriz.
La variable disco es un puntero a struct ejemplo, no es la estructura en sí.
Podés acceder utilizando disco->matriz[][].
El utilizar "->" es lo mismo a utilizar (*disco).matriz[][].
Es decir, para acceder a la matriz, primero tenés que desreferenciar el puntero utilizado.
EDIT: Hay otro error. Le estás pasando a la función "llenado" un struct ejemplo, y lo que en realidad espera es un puntero a un struct ejemplo.
Entonces podés hacer dos cosas. Podes modificar el parámetro de la función, borrándole el asterisco para que no espere un puntero (y compilaría):
#include <iostream>
#include <string.h>
using namespace std;
struct ejemplo{
char matriz[5][5];
};
void llenado(struct ejemplo *disco)
{
strcpy(disco->matriz[0],"a"); /*Aqui es donde querria acceder, pero no me deja*/
}
int main(void)
{
int asd;
struct ejemplo llamada;
llenado(&llamada);
cout<<llamada.matriz[0];
cin>>asd;
}
O podés referenciar el argumento cuando llamás a la función:
#include <iostream>
using namespace std;
struct ejemplo{
char matriz[5][5];
};
void llenado(struct ejemplo *disco)
{
strcpy(disco->matriz[0], "a"); /*Aqui es donde querria acceder, pero no me deja*/
}
int main(void)
{
int asd;
struct ejemplo llamada;
llenado(&llamada);
cout<<llamada.matriz[0];
cin>>asd;
}