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

 
mktr8591 #:
同様に - (const A*) A* に変換する。
fxsaberに何を伝えたいのかがよくわからない。彼は、あなたがいなくてもコードの中身を正確に理解しているのです。あってはならない状況を示しているだけです。コンパイラはこのような変換を防ぐ必要があります。
 
Sergey Gridnev #:
fxsaberに何を伝えたいのかがよくわからない。コードの中で一体何が起こっているのか、それはあなたがいなくても彼が理解していることなのです。あってはならない状況を示しているに過ぎない。コンパイラは、このような変換を抑制する必要があります。
議論の余地があるところです。これらの変換をしないと、場所によっては大変な目に遭うかもしれません。さらに、そのようなコンパイラの禁止事項でさえも、回避することができます - フォーラムにはたくさんの方法があります。
 
mktr8591 #:

そして、*2*行はコンパイルして問題なく動作します。なぜ?

初期化リストは、非静的定数を初期化するための唯一の合法的な(そして明確に提供される)方法です。

 
Andrei Trukhanovich #:

初期化リストは、非静的定数を 初期化するための唯一の合法的な(そして特に意図された)方法です。

だから、彼はその価値を後から変えた

 
A100 #:

だから、彼はその後、彼女の意味を変えた のです。

そう、不注意なんです。バグ?初期化リストの機能は、構築されるオブジェクトにのみ適用されるべきである

 
Andrei Trukhanovich #:

そう、不注意な んです。バグ?初期化リストの機能は、構築されるオブジェクトにのみ関連するものであるべきです。

バグです。私も最初は理解できませんでした。だから、ほとんどの人が 理解できるような書き方をしなさいということなんです。これは、インターフェイスにも 適用されます

 
A100 #:

バグです。私もすぐには理解できませんでした。だから、大多数の人が 理解できるように書けと言っているのです。これは、インターフェースにも 適用されます。

バグレポートについては、もちろん賛成です。

インターフェースはまた別の話です。例:

飛行機の操縦が完璧にできるパイロットが、マニュアルを勉強せずに、操縦系統の異なる別のタイプの飛行機に乗り換えたとしても、理解できないことが多いでしょう。

多くのプロフェッショナルでも、ドキュメントを勉強しないと理解できないような複雑なインターフェイスを作ることは不可能です。

 
コンパイルエラーです。
class T {};                          //(1)
template<typename T> void f( T* ) {} //(2) Error: 'T' - identifier already used
そして、入れ替わったら。
template<typename T> void f( T* ) {} //(2)
class T {};                          //(1)

大丈夫です。根本的な違いは何でしょうか?

 
皆さん、こんにちは。最近、デモ口座でのトレーニングを開始しました。今日、私は、ヘルプ - MQL5web-terminalを開きました。その後、取引プラットフォームがロードされなくなりました。そうしたら、デモ口座に仕込んだテクニカル分析がすべて消去されていることが判明したんです。新しいアカウントを開設する必要がありました。なぜ、こんなことになったのか。実際のアカウントでもこのようなことが起こるのでしょうか?
 
mktr8591 #:

b3095では、スクリプトを実行しています。

オーバーロード f1(T* & Ptr) を削除すると,5コールとも void f1<const X>(const X*const) を返します.

これは何かの機能なのでしょうか?

この矛盾を3行にまとめて書きたかったのですが、一気にうまく いかず