duvida-chamando função

duvida-chamando função

por pedro hamburger -
Número de respostas: 4
oi, fiquei ontem meia hora tentando resolver um problema que naum deixa compilar: na hora de chamar uma função cuja uma das variaveis é a tal matrix,
o compilador diz que não pode associar a matrix do main com a da função...
creio que o problema seja nas declarações , mais não o encontro
declarei: int le_matriz(char ..., int a[][max].....
ne hora de chamar achava que era só: le_matriz(...,a,...)
????ja tentei de tudo....
se alguem solber , serei grato...
Em resposta à pedro hamburger

Re: duvida-chamando função

por Gilberto Guerra -

a variável usada dentro da função deve ser declarada na função, naum no main ( a não ser que seja uma variável global ).

Ou seja, vc tem q ter um jeito pra utilizar essa variável dentro da função!

uma maneira é pelos parâmetros da função. e vc pode utilizar um ponteiro - para conseguir alterar o valor da variável. Uma vez que utilizando funçoes vc retorna (return) apenas um valor pro main!

Em resposta à pedro hamburger

Re: duvida-chamando função

por Francisco Reverbel -
É isso sim Pedro, na hora de chamar uma função é só passar o nome da matriz declarada na função chamadora. Deve ter alguma outra coisa errada... O nome da matriz declarada na função chamadora é a mesmo?
Em resposta à Francisco Reverbel

Re: duvida-chamando função

por pedro hamburger -

então continuo com o problema:

: fonte\ep4.cpp cannot convert `int (*)[((unsigned int)((int)n))]' to `int (*)[250]' for argument `2' to `int le_pgm(char*, int (*)[250], int*, int*, int*)'

me parece que ele não aceita que eu declare a[m][n] no main e depois chame "a" como variavel da função cuja os paramentros sãp M[][MAX(=250)}

não acho a solução 

Em resposta à pedro hamburger

Re: duvida-chamando função

por bianca lobo -
você está colocando o & nas variáveis com ponteiro na hora de chamar a função no main?