[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 512

 
Roman.:

Quando você vai ter seu próprio campista pessoal, Diman?)

Você não ganha nenhum dinheiro há um ano no mundo real, ganha? Você tem muitas quantias START alocadas para você lá, não tem?)



Em breve.
 
Reshetov:

Você pode declarar uma variável estática fora das funções e então você não terá que passar nada por referência.

Você está pensando incorretamente. Se você passar uma variável como argumento para uma função, ela não deve ser declarada no corpo da função - ela já está declarada no argumento. A função deve ser declarada de onde ela é passada.


Não importa se a passamos desde a função inicial ou a partir de alguma outra função.

Neste caso, declarei variáveis na funçãodupla GetPriceToInput(int signal) e passeipriceForSell epriceForBuy variáveis declaradas na mesma função dupla GetPriceToInput(int signal) por referência na funçãoBool Trade(int signal, double& priceForBuy, double& priceForSell).

Acrescentei esta função à funçãoinicial e vejo que já estão indefinidas lá. Eu quero saber como consertá-lo.

É claro que posso declarar estas 2 variáveis de uma só vez no início, como você disse, mas posso passá-las diretamente da funçãoGetPriceToInput(int signal) dupla. Isto é o que eu quero dizer.

 
hoz:


Não importa se os estamos passando desde a função inicial ou a partir de alguma outra função.

Neste caso, declarei variáveis na funçãodupla GetPriceToInput(int signal) e passei as variáveispriceForSell epriceForBuy declaradas na mesma função dupla GetPriceToInput(int signal) por referência na funçãobool Trade(int signal, double& priceForBuy, double& priceForSell).

Acrescentei esta função à funçãoinicial e vejo que já estão indefinidas lá. Eu quero entender como consertá-lo.

Onde você os passou e por que está atribuindo valores onde você não os passou?

 
Reshetov:

Onde você os passou e onde atribui valores a eles?


Bem, eu obtive os valores das variáveis na funçãodupla GetPriceToInput(sinal int)

Aqui:

double priceForSell = secondBarClosed - deltaForSell;
double priceForBuy = secondBarClosed + deltaForBuy;

Eu devolvo estes valores:

return(priceForSell);
return(priceForBuy);

Isto é, os valores já foram devolvidos pela função.

Então envio estes valores por referência à função bool Trade(int signal, double& priceForBuy, double& priceForSell):

Isto é bastante óbvio!

 
hoz:

Isto é, os valores já foram devolvidos pela função.

Onde os retornou, ou seja, onde no código a função retornou os valores dessas variáveis? E como uma função pode retornar mais de um valor se não foi passada por referência?
 
hoz:


Bem, eu obtive os valores das variáveis na funçãodupla GetPriceToInput(sinal int)

Aqui:

Eu devolvo estes valores:

Isto é, os valores já foram devolvidos pela função.

Eu então envio estes valores por referência à função bool Trade(int signal, double& priceForBuy, double& priceForSell):

Tudo está claro aqui!


Basta ler um livro didático. Especialmente, leia a seção sobre o escopo das variáveis. E comece com exemplos simples.

SZS Parece que você precisa começar com o básico da programação.

 

Reshetov
:

Onde ele retornou, ou seja, mostrar exatamente onde no código esses valores variáveis são retornados pela função? E como uma função pode retornar mais de um valor se não foi passada para ela por referência?

Honestamente, eu já estou completamente confuso. Não tenho nem mesmo exemplos para ver como os outros o fazem.

Eu entendo que, além de obter os valores, você tem que atribuí-los a algumas outras variáveis?

VladislavVG:


Basta ler o livro didático. Leia especialmente a seção sobre o escopo das variáveis. E comece com alguns exemplos simples.

Parece que você precisa começar com o básico da programação.


Eu não preciso do básico. Estou bem ciente da visibilidade variável. Nada no livro didático sobre a passagem de valores variáveis por referência. Por que você está me enviando para lá? Você está zombando de mim?

 

hoz:

Eu não preciso do básico. Estou bem ciente das visibilidades variáveis. Não há nada no livro didático sobre a passagem de valores variáveis por referência. Por que você está me enviando para lá? Você está brincando comigo?

Adeus, então. É inútil ensinar um cientista. Portanto, não vamos zombar de você se você já está comendo tudo.
 
Reshetov:
Então adeus. É inútil ensinar um cientista. Portanto, não vamos zombar de você se você já é todo negócio.

Por que mandá-lo embora de uma vez? Não há nada no livro de texto sobre transferências de parâmetros no link. Por que eu deveria ler a mesma coisa 100 vezes? Fiz uma pergunta específica. Eu li o livro didático várias vezes. E hoje eu olhei através dele, não há nada nele sobre a transferência de parâmetros por referência!
 
hoz:

Por que mandá-los embora imediatamente?
  1. Não de imediato, mas após alguma comunicação.
  2. Não para enviar, mas para dizer adeus.

Porque estou cansado de ter conversas com pessoas letradas.