エラー、バグ、質問 - ページ 2327 1...232023212322232323242325232623272328232923302331233223332334...3185 新しいコメント fxsaber 2018.11.23 05:17 #23261 Alexey Navoykov:MQLはなぜ基底クラスが暗黙のうちに派生クラスにキャストされるバグを修正しないのですか?コンパイラの警告すら ないのですか?それは、この正しい構成のためであるに違いない class A { }; class B : public A { }; A* a; B* b= a; // Нет ошибкиは考慮されていなかった。 Alexey Navoykov 2018.11.23 05:19 #23262 fxsaber:おそらく、この正しい設計のため は、あなたのことを考慮に入れていません。 これは全く同じ間違った構造です。 fxsaber 2018.11.23 05:22 #23263 Alexey Navoykov: 全く同じ間違った構造です。ベースクラスへのポインタの後ろに派生クラスのオブジェクトがあれば、それは素晴らしい構造です。 Alexey Navoykov 2018.11.23 05:52 #23264 fxsaber:もし、ベースクラスへのポインタの後ろに派生クラスのオブジェクトがあれば、これは素晴らしいデザインです。 反論せず、これは間違いだと信じることをお勧めします。 fxsaber 2018.11.23 06:18 #23265 Alexey Navoykov: 反論せず、間違いだと信じる ことをお勧めします。この動詞は、技術的な場では応用力が弱い。C++を試してみた。 class A { }; class B : public A { }; A* a = new B; B* b= dynamic_cast<B*>(a); // cannot dynamic_cast ‘a’ (of type ‘class A*’) to type ‘class B*’ (source type is not polymorphic) B* b1= a; // invalid conversion from ‘A*’ to ‘B*’ [-fpermissive] どの選択肢もうまくいかなかった。その理由は明確ではない。 A100 2018.11.23 07:11 #23266 Koldun Zloy:互換性を持たせてしまうと、どちらも不要になるだけです。 C++では、これが可能です。 私は、明日(10年後ではなく)実装可能で、C++の外形に似ている、最も単純な変形を提案しました(そうでなければ、なぜ何も変えないのでしょう)。しかも、operator*()が実装されておらず、今後も実装されないのであれば(フォーラムに情報がありました)、なぜいきなりoperator->()が実装されるのか不明です(両者は同じ順番です)。 TheXpert 2018.11.23 07:43 #23267 Alexey Navoykov:MQLはなぜ基底クラスが暗黙のうちに派生クラスにキャストされるバグを修正しないのですか?コンパイラの警告すら ないのですか? コンパイルエラーを待っているのでしょうか? そんなことはないはずです。この場合は dynamic_cast ですから。 Alexey Navoykov 2018.11.23 07:45 #23268 TheXpert: コンパイルエラーを待っているのでしょうか? そんなことはないはずです。この場合は dynamic_cast ですから。 上記参照、fxsaberはC++のコードを提供しました。 TheXpert 2018.11.23 07:53 #23269 Alexey Navoykov: 上記参照、fxsaberはC++のコードを提供しました。によって編集されています。 class A { public: virtual ~A() = default; }; class B : public A { }; int main(void) { A* a = new B; B* b= dynamic_cast<B*>(a); return 0; } Alexey Navoykov 2018.11.23 08:18 #23270 TheXpert:によって編集されています。 注意力がないんですね。 1...232023212322232323242325232623272328232923302331233223332334...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
MQLはなぜ基底クラスが暗黙のうちに派生クラスにキャストされるバグを修正しないのですか?コンパイラの警告すら ないのですか?
それは、この正しい構成のためであるに違いない
は考慮されていなかった。
おそらく、この正しい設計のため
は、あなたのことを考慮に入れていません。
全く同じ間違った構造です。
ベースクラスへのポインタの後ろに派生クラスのオブジェクトがあれば、それは素晴らしい構造です。
もし、ベースクラスへのポインタの後ろに派生クラスのオブジェクトがあれば、これは素晴らしいデザインです。
反論せず、間違いだと信じる ことをお勧めします。
この動詞は、技術的な場では応用力が弱い。C++を試してみた。
どの選択肢もうまくいかなかった。その理由は明確ではない。
互換性を持たせてしまうと、どちらも不要になるだけです。
C++では、これが可能です。
私は、明日(10年後ではなく)実装可能で、C++の外形に似ている、最も単純な変形を提案しました(そうでなければ、なぜ何も変えないのでしょう)。しかも、operator*()が実装されておらず、今後も実装されないのであれば(フォーラムに情報がありました)、なぜいきなりoperator->()が実装されるのか不明です(両者は同じ順番です)。
MQLはなぜ基底クラスが暗黙のうちに派生クラスにキャストされるバグを修正しないのですか?コンパイラの警告すら ないのですか?
コンパイルエラーを待っているのでしょうか? そんなことはないはずです。この場合は dynamic_cast ですから。
上記参照、fxsaberはC++のコードを提供しました。
によって編集されています。
によって編集されています。