問題タブ [compiler-bug]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
195 参照

c++ - 多重継承により、プライベート メンバーにアクセスできるようになります

これは、B が非公開で A を継承していてもコンパイルされます。D の C の継承を削除すると、予想どおり、コンパイラは a にアクセスできないと言います。C の継承は私のコンパイラを混乱させますか?

コンパイラは gcc 4.4.7

0 投票する
1 に答える
375 参照

c++ - Visual Studio 2013 の select_on_container_copy_construction 内部エラー

Visual Studio 2013 で内部コンパイラ エラーが発生しました。正確なエラーは次のとおりです。

これは、std::allocator_traits の実装でこのコードを示しています。

そのことから、問題はカスタムアロケーター用に作成した実装に関連していると思います。このアロケーターは、私のプロジェクトで使用し、標準に準拠していない単純なアロケーターをラップするためのクラス テンプレートです (したがって、ラッピングが必要です)。ラッパーは次のとおりです。

Visual Studio がそれ以上の情報を提供しないことを考えると、この問題に取り組む方法がわかりません。

0 投票する
1 に答える
1531 参照

c++ - コピー コンストラクターが削除されたクラスから継承する

base私は、プライベートデフォルトコンストラクターとパブリック削除コピーコンストラクターのみを含むクラスを持っています。

base以下のようにクラスのインスタンスを継承して作成しようとするとderived、g++ 4.8.2 ではコードがコンパイルされませんが、VC++ 2013 ではコンパイルされます。

それで、それはg ++またはVC ++ 2013のバグで、何かを無視しただけですか?

これが完全なコードです...

...そしてg ++エラーメッセージ。

0 投票する
2 に答える
3910 参照

c# - C# で「int」にキャストするときの「const float」の値が「float」と異なる

なぜこれが起こるのか説明できますか?

出力:

0.1 のバイナリ表現が実際には 0.09999990463256835937 であることはわかっていますが、なぜこれが「float」ではなく「const float」を使用して発生するのでしょうか? これはコンパイラのバグと見なされますか?

記録のために、コードは次のようにコンパイルされます。

0 投票する
1 に答える
2361 参照

c - 指定された初期化子を使用した MSVC12 (VS2013) でのコンパイラのバグの可能性

VS2013 Update 2 を使用すると、奇妙なエラー メッセージが表示されます。

GCC と Clang の両方がそれを受け入れます。

何か不足していますか、それともこのコードはコンパイラのバグを公開していますか?

編集:重複:指定された初期化子を使用して別の構造体内で構造体を初期化すると、Visual Studio 2013 でコンパイル エラーが発生する

0 投票する
2 に答える
535 参照

c++ - C++ 11で可変引数関数がリスト初期化引数を「食べる」ことができないのはなぜですか?

サンプルコードは次のとおりです。

emplace()次のような署名がある場所:

gcc、関数が 0 個の引数を期待していることを示しています - 2 個が提供されています。はclang、関数が1つの引数を期待していることを示しています-2が提供されています。

私も理解していません - このコードの問題は何ですか?

0 投票する
2 に答える
8199 参照

c++ - C++11 future.wait_for() は常に future_status::timeout を返します

数値が素数かどうかをチェックする C++11 プログラムがあります。プログラムが準備が整うのを待つ未来のオブジェクトがあります。準備が整うと、プログラムは、future オブジェクトのプロバイダー関数がその数を素数と見なしたかどうかを通知します。

プログラムを実行すると、wait_for()常に が返されるため、プログラムが無限の while ループになっていることがわかりますfuture_status::timeout。これは、共有状態の準備ができていないことを意味します。その理由は何ですか?このプログラムはhttp://www.cplusplus.com/reference/future/future/wait_for/から取得したので、動作することを期待していました。ただし、while ループをコメントアウトすると、プログラムは正常に動作します。

0 投票する
2 に答える
103 参照

c++ - コンストラクター定義の前に「class」キーワードを付けることはできますか?

class次のようにその前に単語を書くだけで、コンストラクターをプライベートセクションとパブリックセクションのないクラスとして扱うと、プログラムがコンパイルおよび実行される理由を教えてください。