class B {
public:
B( int ) {}
};
class A {
int f( int ) { return0; }
void g1() { B f = f( 1 ); } //(1) нормальноvoid g2() { B f( f( 1 )); } //(2) Error: '1' - some operator expected
};
class B {
public:
B( int ) {}
};
class A {
int f( int ) { return0; }
void g1() { B f = f( 1 ); } //(1) нормальноvoid g2() { B f( this.f( 1 )); } //(2) Прекрасно работает
};
正確にはそうではないのですが)))ですが。
クラスの括弧が "f(" 構文に戻るのを待っている間に...関数 f(...) で遭遇し、クラスとして閉じてしまう(つまり、このケースでは関数を呼び出す代わりにそこでオブジェクト B の完全な初期化が行われる)...という可能性もさらに高いです。そして、クラスを変数に変換しようとする残りのセグメントを解決します。
を理解しようとしているように見えます。
class B {
public:
B( int ) {}
};
class A {
int f( int ) { return0; }
void g1() { B f = f( 1 ); } //(1) нормальноvoid g2() { B a(1); B f (a(1)); } //(2) Error: '1' - some operator expected
};
Есть множество причин, по которым вы решили изучать современный язык программирования торговых стратегий MQL5, и мы только приветствуем это! Старожилы легко ориентируются как в самой документации по языку, так и в статьях и множестве сервисов, которые здесь представлены. Но если вы только открыли для себя клиентский терминал MetaTrader 5, то в...
また 論点がずれてるなー、差はないんだけど。どちらの場合も、エラーが発生しないか、発生するはずです(C++の場合)。以下は(3)の例で、(2)の場合と同様にfが後にオーバーライドされていますが、(2)とは異なり - コンパイルタイムエラーです。
申し訳ありませんが、あなたのレベルではありません。しかし、私の意見では、より厳格で、賢明なカプセル化ではありません。
では、すべてを1つの例にまとめてみましょう。これでALLは同じ、質問も同じです。
何を言っているのか全く分からないが、その差は驚くべきものだ ))))アサインメント→引数。私が間違っているのかもしれませんが )))
何を言っているのか全く分からないが、その差は驚くべきものだ ))))アサインメント→引数。私が間違っているのかもしれませんが )))
もし、その違いが明らかであれば、なぜ一方のケースではコンパイルエラーが発生し、他方のケースでは発生しないのかを説明してください。それとも、見た目だけで、意味もなく見分けられるのでしょうか!?それなら、ムルジルカ誌の「10個の違いを見つけよう」レベルです。
もし、その違いが明らかであれば、なぜ一方のケースではコンパイルエラーが発生し、他方のケースでは発生しないのかを説明してください。それとも、見た目だけで、意味を見分けることができるのでしょうか?それなら、雑誌「ムルジルカ」の「10の違いを見つけよう」レベルです。
その通り ))))))))))))))))))))))))))))))))))))
あと、素人からもう一つ質問してもいいですか?こんなことしてどうするんだ?サクラメントのポイントは?この「バグ」をわざわざ探しているのでしょうか?それとも、この構成が1つもないと、人生すべてが無駄になってしまうのでしょうか?
あと、素人からもう一つ質問していいですか?何が言いたいんだ?サクラメントポイントとは?そういう「バグ」をわざと探しているのでしょうか?それとも、このような構造がなければ、すべての生命は無駄なものなのでしょうか?
このような質問(このスレッドでは)には、そろそろ禁止してください。
エラーに関することであれば。DLLとテスターの 手動停止について、解決策はありますか?
つまり、プロセス中のテスター/最適化を止めた場合、やり直すには手動でmetatester64を殺す必要があります(ファームの場合はさらに地獄が待っています)。プロセスはDLLをロードしたままなので、新しいテストを始めるにはDLLを再びサンドボックスにコピーしますが、Windowsは開いたDLLの上書きと書き込みエラーを許可しないらしいのです。
そして、もし開発者がここを通るなら、テスターのコードに4行追加して、ライブラリのハンドルを取得しようとし、もしロードされているなら、再びコピーする前にアンロードするようにしたらどうでしょう。ごちゃごちゃしてますね ;)
SQLiteでstrategy testerから テーブルのフィールドの1つに現在のローカルタイムを書き込むにはどうすればよいですか?
ググる
データベースに1つのクエリを送信したい。
最適化のパスをデータベースに書きたいのですが、ローカルタイムが本当に惜しい - どのEAパラメータを調べたのか忘れてしまった
UPDです。
解決策を発見、テストフィールドに十分なdatetime()を書き込む
SQLiteでstrategy testerから テーブルのフィールドの1つに現在のローカルタイムを書き込むにはどうすればよいですか?
ググる
データベースに1つのクエリを送信したい。
最適化のパスをデータベースに書きたいのですが、ローカルタイムが本当に惜しい - どのEAパラメータを調べたのか忘れてしまった
UPDです。
解決策が見つかり、テストフィールドに十分なdatetime()を書き込むことができました。
CREATE TABLE "foo" (
"stamp" datetime default CURRENT_TIMESTAMP,
--- прочие поля
);
は動作します - レコード作成時に、現在のローカルタイムにスタンプが設定されます。
では、すべてを1つの例にまとめてみましょう。これですべてが同じになり、質問も同じになります。
まあ問題が関数と同じ名前である可能性が高いのは明らかなのですが......いわば言語の特殊 性を見越した、見た目での評価です)))さて、このように動作するはずなのですが......大量のコードの中からこのようなエラーを見つけることを想像してみてください。
コンパイラは、2回目に関数ではなく、コンストラクタの内部でコンストラクタを呼び出そうとしています。
2つ目のケースでは、コンパイラが何らかの理由で「f()」構文を予約していることが判明した--正確にはコンストラクタを呼び出すための「関数」として。
正確にはそうではないのですが)))ですが。
クラスの括弧が "f(" 構文に戻るのを待っている間に...関数 f(...) で遭遇し、クラスとして閉じてしまう(つまり、このケースでは関数を呼び出す代わりにそこでオブジェクト B の完全な初期化が行われる)...という可能性もさらに高いです。そして、クラスを変数に変換しようとする残りのセグメントを解決します。
を理解しようとしているように見えます。