エラー、バグ、質問 - ページ 2025 1...201820192020202120222023202420252026202720282029203020312032...3185 新しいコメント A100 2017.10.07 00:27 #20241 実行時の二重のエラー#define XY( X, Y ) X##Y #define f( X ) XY( g, X ) #define MACRO1( X ) #X #define MACRO2( X ) MACRO1( X ) #define SIZE 5 void OnStart() { printf( "%s", MACRO2( f( SIZE ))); }結果:f(SIZE)本来はg5 Andrey Khatimlianskii 2017.10.07 01:03 #20242 leonerd:テストの可視化グラフから矢印を削除するにはどうすればよいですか?テストを始める と、前回のテストでの入力の矢印や線が残っています。tester.tpl テンプレートをクリーンアップしてください、オブジェクトはおそらくそこにあります。 fxsaber 2017.10.07 07:02 #20243 A100:実行時の二重のエラー結果:f(SIZE).こうあるべき: g5私には論理的な結果のように思えます。 A100 2017.10.07 09:24 #20244 fxsaber: 私には論理的な結果のように思えます。予想:最初に内部マクロ SIZE を代入し、次に中間マクロ f( X ) を代入し、最後に外部マクロ MACRO2( X ) を代入する。しかし、不完全なロジックを使っても結果は違う。#define MACRO1( X ) #X void OnStart() { printf( "%s", MACRO1( f( SIZE ))); } //Результат :f(SIZE) //должен быть:f( SIZE ) 少なくとも、スペースに違いがある fxsaber 2017.10.07 09:38 #20245 A100:予想:最初に内部マクロ SIZE を代入し、次に中間マクロ f( X ) を代入し、最後に外部マクロ MACRO2( X ) を代入する。しかし、不完全なロジックを使っても結果は違う。少なくとも、空白部分に違いがあります。機能の優先順位は、もちろん内側から外側へ。一方、マクロの場合はその逆です。 #Xは スペースを含まない文字列です。もちろん、これには異論もあるでしょう。 A100 2017.10.07 10:43 #20246 fxsaber:機能の優先順位は、もちろん内側からです。一方、マクロはその逆です。 #Xは スペースを含まない文字列です。もちろん、これに反対することもできます。しかし、なぜ、古い表記で複雑なルールを新たに作らなければならないのでしょうか。すでに、そのような表記で、広い範囲の人々に知られ、何十年も確立されているシンプルな古いルールがあるのに。ルールが新しくなれば、呼称も新しくなるはずです Alexey Navoykov 2017.10.07 13:37 #20247 A100:実行時の二重のエラー結果:f(SIZE)本来はg5 1年前にも同様の依頼をサービスデスクにしましたが(#1600034)、いまだに回答がありません。このような「マニアック」なバグは一切気にしていないようです。そして、一般的に、言語は、すべてから判断して、改善するつもりはありません。大きなバグの修正のみで、それ以上はありません。 fxsaber 2017.10.07 14:27 #20248 A100:何十年もかけて確立され、多くの人に知られているシンプルなルールがあるのに、なぜ古い呼称で新しい複雑なルールを作るのでしょうか?ルールが新しくなれば、呼称も新しくなるはずです。具体的にはどのようなことでしょうか。どうあるべきか? A100 2017.10.07 15:43 #20249 fxsaber:具体的にはどのようなことでしょうか。そして、どうあるべきなのか。#Xは そのままの文字列、つまりスペース(あれば)を含む文字列です。また、上記の f( SIZE ) → g5の例を見てください。これらのルールは私が考案したわけではなく、C++コンパイラがそうしているのです A100 2017.10.07 15:46 #20250 Alexey Navoykov: 1年前にも同様の依頼をサービスデスクに送ったが(#1600034)、いまだに回答はない。このような「マニアック」なバグは一切気にしていないようです。そして、一般的に、言語は、すべてから判断して、改善するつもりはありません。大きなバグを修正するだけで、それ以上のことはしない。昨日、偶然に出会ったのですが、なんと連動していることに驚きました。template<typename T, int n> 数十行のコードが文字通り1~2行になった(!)。だから書いたのですが......一見すると、些細なことかもしれません。改めてC++にナンセンスはないと確信しました 1...201820192020202120222023202420252026202720282029203020312032...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
実行時の二重のエラー
結果:f(SIZE)
本来はg5
テストの可視化グラフから矢印を削除するにはどうすればよいですか?テストを始める と、前回のテストでの入力の矢印や線が残っています。
tester.tpl テンプレートをクリーンアップしてください、オブジェクトはおそらくそこにあります。
実行時の二重のエラー
結果:f(SIZE).
こうあるべき: g5
私には論理的な結果のように思えます。
私には論理的な結果のように思えます。
予想:最初に内部マクロ SIZE を代入し、次に中間マクロ f( X ) を代入し、最後に外部マクロ MACRO2( X ) を代入する。
しかし、不完全なロジックを使っても結果は違う。
少なくとも、スペースに違いがある
予想:最初に内部マクロ SIZE を代入し、次に中間マクロ f( X ) を代入し、最後に外部マクロ MACRO2( X ) を代入する。
しかし、不完全なロジックを使っても結果は違う。
少なくとも、空白部分に違いがあります。
機能の優先順位は、もちろん内側から外側へ。一方、マクロの場合はその逆です。
#Xは スペースを含まない文字列です。もちろん、これには異論もあるでしょう。
機能の優先順位は、もちろん内側からです。一方、マクロはその逆です。
#Xは スペースを含まない文字列です。もちろん、これに反対することもできます。
しかし、なぜ、古い表記で複雑なルールを新たに作らなければならないのでしょうか。すでに、そのような表記で、広い範囲の人々に知られ、何十年も確立されているシンプルな古いルールがあるのに。ルールが新しくなれば、呼称も新しくなるはずです
実行時の二重のエラー
結果:f(SIZE)
本来はg5
何十年もかけて確立され、多くの人に知られているシンプルなルールがあるのに、なぜ古い呼称で新しい複雑なルールを作るのでしょうか?ルールが新しくなれば、呼称も新しくなるはずです。
具体的にはどのようなことでしょうか。どうあるべきか?
具体的にはどのようなことでしょうか。そして、どうあるべきなのか。
#Xは そのままの文字列、つまりスペース(あれば)を含む文字列です。また、上記の f( SIZE ) → g5の例を見てください。これらのルールは私が考案したわけではなく、C++コンパイラがそうしているのです
1年前にも同様の依頼をサービスデスクに送ったが(#1600034)、いまだに回答はない。このような「マニアック」なバグは一切気にしていないようです。そして、一般的に、言語は、すべてから判断して、改善するつもりはありません。大きなバグを修正するだけで、それ以上のことはしない。
昨日、偶然に出会ったのですが、なんと連動していることに驚きました。
数十行のコードが文字通り1~2行になった(!)。だから書いたのですが......一見すると、些細なことかもしれません。改めてC++にナンセンスはないと確信しました