Jump to content


Photo

Como Alterar Valor Do Argumento E Modificar A Original?


  • Faça o login para participar
3 replies to this topic

#1 Rurouni Tiago Kun

Rurouni Tiago Kun

    Turista

  • Usuários
  • 31 posts
  • Sexo:Masculino

Posted 22/07/2008, 05:43

Segue um exemplo em C/C++:
void teste(int*a) {
	*a=4;
}
//...
int x=5;
teste(&x); // vai mudar para 4!
Inicialmente o problema era retornar dois valores, mas seria muito problemático se fosse uma array ou objeto, pois o retorno principal seria de um tipo simples, e o segundo argumento nem sempre será alterado, e seria uma seqüência dele mesmo, por isto o melhor jeito seria passar como ponteiro mesmo! Mas procurei a beça e não encontrei nenhum exemplo a respeito, estou quase crendo que não tem como!
Também não posso criar uma variável global pois haverá várias chamadas desta função, ramificando estes valores!
Tentei simular sitaxes de outras linguagens como Pascal, PHP, VB, mas nada!
function teste(var a) // deu erro
function teste(&a) // deu erro
function teste(ByVal a) // deu erro
Se alguém tiver algum palpite agradeço desde já
8) Pode Crê
RoX a LoT

#2 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 22/07/2008, 09:43

Não entendi ... não conheço C ...

Você quer alterar o valor de uma variável somente dentro da função ?
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#3 Rurouni Tiago Kun

Rurouni Tiago Kun

    Turista

  • Usuários
  • 31 posts
  • Sexo:Masculino

Posted 22/07/2008, 12:42

Um argumento como ponteiro, quando alterado o valor de dentro da função, altera o de fora, no exemplo dado, a variável x começa com 5, mas independente desse valor, quando passada para função teste como ponteiro (usando &), o valor será alterado, em JavaScript seria algo do tipo:
function teste(var a){
	// processa algo aqui
	a=4;
	// retorna algo aqui
}
// ...
var b=5;
alert(b); // aparece 5
teste(&b);
alert(b); // aparece 4
;D entendeu agora? mas não funciona!
8) Pode Crê
RoX a LoT

#4 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 22/07/2008, 13:12

Entendi mais ou menos... pra ser sincero eu conheço isso do PHP, mas não usei muito ... pouca coisa para aprender só ... Não sei se funciona.

Veja isso:

- http://developer.moz...Block_Statement
- http://weblog.raganw...javascript.html
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq