pasando la matriz typedef (tamaño fijo) por valor
Estoy teniendo dificultades para entendertypedef
patrón para matrices.
typedef char Char10[10];
void fun (Char10 a) // not passing reference (interested in pass by value)
{
if(typeid(Char10) == typeid(char*))
throw 0; // <--- never happens
}
int main ()
{
char a[10]; fun(a); // ok
char b[11]; fun(b); // why works ?
}
Por qué los diferentes tamaños de matriz por valor son aceptados porfun()
? Sonchar[10]
ychar[11]
no tipos diferentes?
Edita: Para aquellos que dicen que decae al puntero, vea mi código editado. @char[10]
ychar*
no parece coincidir.