エラー、バグ、質問 - ページ 3062

 

ここで、コンパイラはエラーを出すはずです。

class A
  {
public:
   int               aa;
  };
A a;

void OnStart()
  {
   a.aa=999999;
   A b=GetPointer(a);//Переменная b не является указателем
   Print(b.aa);
  }

スクリプトはナインを表示する。

 
Aliaksandr Hryshyn:

ここで、コンパイラはエラーを出すはずです。

スクリプトはナインを印刷します。

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

MetaTrader 5ビルド2980の新バージョン:取引操作時のプッシュ通知について

A100, 2021.06.21 08:35

MQLでは、ポインターは実際にはポインターではなく(アドレスの演算は行われません)、参照

そして、もしそうなら、参照ポインタの オブジェクトへの暗黙の変換が機能します

C++では、次のようになります。


#ifdef __cplusplus
#define GetPointer(a)   ((A&)(a))
void OnStart()
{
   a.aa=999999;
   A b = GetPointer(b);
   Print(b.aa);
}
#endif
 
A100 :

そして、このような場合、暗黙のうちにポインタからオブジェクトへの 変換が機能します

C++では次のようになります。

OOPにお詳しいので。この件に関して、ご意見をお聞かせください。

Bug: Const method + Copy constructor
Bug: Const method + Copy constructor
  • 2021.07.18
  • www.mql5.com
This code reproduces the bug: There are 2 workarounds for this code, you either remove the const qualifier from the method foo or create a temporar...
 
fxsaber:

リモートマシンでは、しばらくしてからこの現象が発生するようになりました。それ以前は、すべて正常に動作していたのです。OSで何かを変えた覚えはない。

確かに似たようなことは覚えています。おそらく、RDP接続と関係があったのでしょう。

また、Alt+Tabでウィンドウを切り替えると効果があるようです。

 
Andrey Khatimlianskii:

似たようなことを思い出した。おそらく、RDP接続と関係があったのでしょう。

また、Alt+Tabでウィンドウを切り替える のも有効なようです。

残念ながら、役に立たなかった。Alertを閉じるまで、端末は表示されないままです。

 
Alain Verleyen:

OOPにお詳しいので。それについて、ご意見を伺ってもよろしいでしょうか。

C++ではすべてエラーなくコンパイルされ、MQLではconst(3)なしで、それもコンパイルされます。これは、MQLのどこかにエラーがあることを意味します。

class C {
public:
    C()           { Print( 1 ); }  
    C( const C& ) { Print( 2 ); }
    C h()         { Print( 3 ); return C(); }    //(3) нормально
    C f() const   { Print( 4 ); return C(); }    //(4) ошибка при компиляции
    C g() const   { Print( 5 ); C c; return c; } //(5) замена (4)
};
void OnStart()
{
    C c;
    c.f();
}

一方、仮に(4)がコンパイルできたとしても、呼び出しの順序が異なることに変わりはない。

をMQLで表示します。1-4-1-2

C++の場合:1-4-1

ということで、いずれにせよ変形例(5)を使うのが正しいです

 
A100 :

C++ではすべてエラーなくコンパイルされ、MQLではconst (3)なしで - もコンパイルされます - これはMQLのどこかにエラーがあることを意味します。

一方、仮に(4)がコンパイルできたとしても、呼び出しの順序は異なる。

をMQLで表示します。1-4-1-2

C++の場合:1-4-1

ということで、いずれにせよ変形例(5)を使うのが正しいです

ありがとうございます :-)
 

くっそー、まだわかんねーよ、教えてくれよ、善意の人たちよ。

Metaeditorで開いている すべてのファイルが絶妙なタイミングでクラッシュするのを防ぐには、どうすればいいのでしょうか?

Metaeditor.iniを手動でバックアップとかマジかよ。

ただ、閉じた後でもなく、開いた直後でもなく、突然すべてが消えてしまうのです。その理由は不明である。

 
Aleksey Mavrin:

くっそー、まだわかんねーよ、教えてくれよ、善意の人たちよ。

Metaeditorで開いている すべてのファイルが絶妙なタイミングでクラッシュするのを防ぐには、どうすればいいのでしょうか?

Metaeditor.iniを手動でバックアップとかマジかよ。

ただ、閉じた後でもなく、開いた直後でもなく、突然すべてが消えてしまうのです。その理由は不明である。

私はフリップではなく、携帯用として使っています。
 

お客様がいらっしゃいます。私は彼の仕事をしたことがあります。また一緒に仕事をしたいと言ってくれた。ジョブを作成した。仕様書を添付する必要がある手順がわからなかったのか、理解できなかったようです。

仕事を削除した。ルール上、ジョブは1つしか作れません。作成できない、別のアカウントを作成したい。(とアドバイスし、サポートで自分も対応するようにすると書きました)。

ここではなく、先払いを提案されたので、断った。第三者(MKL)に対して不公平だから。

どうか、彼にここで仕事を作る機会を与えてください。

なんとなく、これはおかしい。お金を払ってくれる人がいて、それを承諾して手数料を払ってくれる演奏家がいる。処理を停止しています。

https://www.mql5.com/en/users/mbende/feedbacks