passando array typedef (tamanho fixo) por valor
Estou tendo dificuldade para entendertypedef
adrão para matrize
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 que os diferentes tamanhos de matriz por valor são aceitos porfun()
? Estamoschar[10]
echar[11]
tipos não diferentes?
Edita: Para quem disser que é um ponteiro, veja meu código editado.char[10]
echar*
parece não corresponder.