[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 512

 
Roman.:

いつになったら自分専用のキャンピングカーを手に入れるんだ、ディマン(笑)

実社会で1年も稼げてないんだろ?そこそこのSTART量が割り当てられているんですね(笑)



もうすぐです。
 
Reshetov:

関数の外でスタティック変数を宣言しておけば、参照渡しは一切不要になります。

考え方が間違っているのです。関数の引数として変数を渡す場合、その変数を関数本体の中で宣言してはいけません - 引数の中ですでに宣言されているのです。関数は、渡された先で宣言する必要があります。


つまり、スタート 関数から渡そうが、他の関数から渡そうが関係ないのです。

今回は、double GetPriceToInput(int signal) 関数で変数を宣言し、同じdouble GetPriceToInput(int signal) 関数で宣言した変数priceForSellとpriceForBuyをbool Trade(int signal, double& priceForBuy, double& priceForSell) 関数に参照渡しをしたのです。

この関数をstart 関数に追加してみると、そこではすでに未定義であることがわかります。修理の方法を知りたい。

もちろん、おっしゃるようにstartで この2つの変数を一度に宣言してもいいのですが、double GetPriceToInput(int signal) 関数から直接 渡せる ようにしています。 ということなのです。

 
hoz:


つまり、スタート 関数から渡すのか、他の関数から渡すのかは関係ないのです。

今回は、double GetPriceToInput(int signal) 関数で変数宣言し、同じdouble GetPriceToInput(int signal) 関数で宣言した変数priceForSellpriceForBuybool Trade(int signal, double& priceForBuy, double& priceForSell) 関数に参照渡しをしました。

この関数をstart 関数に追加してみると、そこではすでに未定義であることがわかります。どうすれば直るのか理解したい。

どこに渡したのか、渡していないところに値を割り当てるのはなぜか?

 
Reshetov:

どこに渡して、どこに値を割り当てるのか?


さて、変数の値を関数double GetPriceToInput(int signal) で取得しました。

これです。

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

これらの値を返します。

return(priceForSell);
return(priceForBuy);

すなわち、その値はすでに関数によって返されている。

そして、これらの値を関数bool Trade(int signal, double& priceForBuy, double& priceForSell) に参照で送ります。

これは、極めて当たり前のことです

 
hoz:

すなわち、その値はすでに関数によって返されている。

つまり、その関数はコードのどこでこれらの変数の値を返したのでしょうか?また、参照渡しでない場合、関数はどのようにして複数の値を返すことができるのでしょうか?
 
hoz:


さて、私は変数の値を関数double GetPriceToInput(int signal) で取得しました。

これです。

これらの値を返します。

つまり、すでに関数によって値が返されている。

そして、これらの値を関数bool Trade(int signal, double& priceForBuy, double& priceForSell) に参照で送ります。

ここではすべてがクリアになるのです


教科書を読めばいいんです。特に、変数のスコープについての セクションを読んでください。そして、簡単な例から始めてください。

SZS プログラミングの基礎から始める必要がありそうですね。

 

Reshetov
:

つまり、関数が返した変数の値が、コードのどこで返されたかを正確に示してください。また、参照渡しでない場合、関数はどのようにして複数の値を返すことができるのでしょうか?

正直なところ、もう完全に混乱しています。他の人がどうやっているのか、実例もないんです。

値を取得する以外に、他の変数に代入する必要があると理解していますが?

VladislavVG:


教科書を読めばいいんです。特に、変数のスコープについてのセクションを読んでください。そして、簡単な例から始めてください。

プログラミングの基礎から始める必要があるようですね。


基本はいらない。可変視認性についてはよく理解しています。教科書には、変数の値を参照渡しすることは何も書いていない。なぜ、私をそこに送るのですか?私をバカにしているのか?

 

hoz:

基本はいらない。視界が変化することはよく承知しています。教科書には、変数の値を参照渡しすることは書かれていないんだ。なぜ、私をそこに送るのですか?冗談だろう?

では、さようなら。科学者に教えても無駄なんだよ。だから、すでに食べ尽くしている人を馬鹿にするのはやめよう。
 
Reshetov:
では、さようなら。科学者に教えても無駄なんです。だから、すでにビジネス一辺倒になっている人を馬鹿にするのはやめよう。 。

なぜすぐに追い出すのですか? リンク 先の教科書には、 パラメータ転送の ことは何も書かれていません。 なぜ同じことを100回も読まなければならないのですか? 私は具体的な質問をしました。教科書を何度も読み返しました。そして、今日目を通しましたが、参照によるパラメータの転送については 何も書かれていませんでしたよ。
 
hoz:

なぜ一度に送り出すのか?
  1. すぐには無理だが、ある程度コミュニケーションをとってから。
  2. 送るためではなく、別れを告げるために。

文系との会話にうんざりしているからです。