エラー、バグ、質問 - ページ 3095 1...308830893090309130923093309430953096309730983099310031013102...3185 新しいコメント mktr8591 2021.10.21 11:02 #30941 スクリプトがあります class X {}; void fTest(X &Obj) {return;} void OnStart() { X obj; fTest(GetPointer(obj)); //ОК //fTest(&obj); //Compile error: '&' - parameter passed as reference, variable expected } 質問:GetPointer(obj)がOKなら、なぜ&objは失敗するのですか? これは何かに必要なのでしょうか? mktr8591 2021.10.21 13:25 #30942 念のため、はっきりさせておきたい。こんなコードがあったとします。ClassX *x=new ClassX; //какой-то код delete x; //......много кода, прошло много времени ClassY *y=new ClassY; Print(x==y); // может ли быть true? xとyが等しくなることは原理的に可能なのでしょうか? fxsaber 2021.10.21 13:38 #30943 mktr8591 #:念のため、はっきりさせておきたい。仮にそのようなコードがあったとします。 xとyが等しくなることは原理的に可能なのでしょうか? 理屈ではそうなんですけどね。以前は、ポインターのアンセットはカウンターを表示していました(すべてのオブジェクトの数を見ることができました)。今はランダムです。 mktr8591 2021.10.21 13:46 #30944 fxsaber #:理屈ではそうなんですけどね。以前は、ポインターのプリントアウトにカウンターが表示されていました(全オブジェクトの数を見ることができます)。今はランダムです。 多分ですが、ランダムにはちょっと小さいかな~、いつもは7桁なんですけどね。 Alain Verleyen 2021.10.21 14:14 #30945 mktr8591 # :スクリプトがあります質問:GetPointer(obj) が OK で渡された場合、なぜ &obj は失敗するのでしょうか?何かに必要なのでしょうか? ここでは、GetPointer()は必要ありません。 fTest(obj); //ОК // Это для чего-то нужно? X *objptr; objptr = &obj; mktr8591 2021.10.21 14:17 #30946 Alain Verleyen #:ここでは、GetPointer()は必要ありません。 同意見です。ただ、なぜこれほどまでに行動に差が出るのかが不思議です。 Ilyas 2021.10.21 14:50 #30947 mktr8591 #:念のため、はっきりさせておきたい。仮にそのようなコードがあったとします。 xとyが等しくなることは原理的に可能なのでしょうか? いいえ、ありえません。 Ilyas 2021.10.21 14:56 #30948 mktr8591 #:念のため、はっきりさせておきたい。仮に次のようなコードがあったとします。 xがyに等しくなることは原理的にあり得るのでしょうか? 私は、以下のコードに示すように、参照へのオートレンジポインタを使用せず、明示的に行うことをお勧めします(赤でハイライトされています)。 class A { }; void func(A &) { } void OnStart(void) { A a; A *pa=&a; func(* pa); } Alain Verleyen 2021.10.21 16:01 #30949 Ilyas # : ポインターをリンクに自動変換せず、以下のコードに示すように明示的に行うことをお勧めします(赤でハイライト)。 何が変わったのでしょうか?結局は同じじゃないですか。 fxsaber 2021.10.21 16:07 #30950 エラーは間違いないのですが、なぜかバックデイトされています。 class X {}; template <typename T> void fTest(T &Obj) {return;} void OnStart() { X obj; fTest(GetPointer(obj)); //'GetPointer' - parameter passed as reference, variable expected - ДВАЖДЫ! } 1...308830893090309130923093309430953096309730983099310031013102...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
スクリプトがあります
質問:GetPointer(obj)がOKなら、なぜ&objは失敗するのですか?
これは何かに必要なのでしょうか?
念のため、はっきりさせておきたい。こんなコードがあったとします。
xとyが等しくなることは原理的に可能なのでしょうか?念のため、はっきりさせておきたい。仮にそのようなコードがあったとします。
xとyが等しくなることは原理的に可能なのでしょうか?理屈ではそうなんですけどね。以前は、ポインターのアンセットはカウンターを表示していました(すべてのオブジェクトの数を見ることができました)。今はランダムです。
理屈ではそうなんですけどね。以前は、ポインターのプリントアウトにカウンターが表示されていました(全オブジェクトの数を見ることができます)。今はランダムです。
スクリプトがあります
質問:GetPointer(obj) が OK で渡された場合、なぜ &obj は失敗するのでしょうか?
何かに必要なのでしょうか?
ここでは、GetPointer()は必要ありません。
ここでは、GetPointer()は必要ありません。
念のため、はっきりさせておきたい。仮にそのようなコードがあったとします。
xとyが等しくなることは原理的に可能なのでしょうか?いいえ、ありえません。
念のため、はっきりさせておきたい。仮に次のようなコードがあったとします。
xがyに等しくなることは原理的にあり得るのでしょうか?私は、以下のコードに示すように、参照へのオートレンジポインタを使用せず、明示的に行うことをお勧めします(赤でハイライトされています)。
ポインターをリンクに自動変換せず、以下のコードに示すように明示的に行うことをお勧めします(赤でハイライト)。
エラーは間違いないのですが、なぜかバックデイトされています。