問題タブ [clang++]
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.
c++ - 非型テンプレート引数は定数式ではありません
次のコードがあります。
次のコマンドラインでコンパイルすると:
次のエラーが表示されます。
私は自分が信じている問題を理解しています。テンプレートの引数は constexpr である必要がありますが、明らかにそうではありません。問題は、これを機能させるために変更できる可能性があるかどうかです。この作業により、手動で行う以外に、ATYPE の型ごとにこのテンプレート クラスからこれらの静的カウンターをリセットするためのより良い方法が得られる可能性があります。
ATYPE に多くの型が含まれている場合、これはそれほどエレガントでも実用的でもありません。
あなたの助けとアドバイスに感謝します。
c++ - このコードが Clang++ では機能するのに G++ では機能しないのはなぜですか?
次のコードを検討してください。
clang++ でコンパイルしてもエラーは発生しません。
ただし、ideone を使用して g++ 4.8.1 でコンパイルすると、次のエラーが発生します。
削除すると、g++ 4.8.1 で正常Foo(const Foo&) = delete;にコンパイルされます。
私のコードには、一方のコンパイラーは無視しているが、もう一方のコンパイラーは無視していないというエラーがありますか?
c++ - エラー「clang: error: linker (via gcc) command failed with exit code 1 (use -v to see invocation)」を修正する方法は?
main.cpp、pattern.cpp、および pattern.h (2 つの関数宣言を含むがクラスを含まないヘッダー ファイル。これらの関数は pattern.cpp で定義され、main.cpp には #include "pattern.h" が含まれる) を含む C++ プログラムをコンパイルする場合次のように入力します。
エラー メッセージは次のとおりです。
これを修正するにはどうすればよいですか? 入力しようとし-vましたが、clang の出力が終了し、無効なコマンドでした
c++ - テンプレート関数の揮発性型推定の何が問題になっていますか?
テンプレート機能があります:
次のように呼び出そうとすると:
g++ と clang++ の両方のコンパイラは、次のように言います。
パラメータ 'T' の競合する型を推定 ('volatile List::Node *' 対 'List::Node *')
このテンプレート関数を呼び出す正しい方法は何ですか?
アップデート。
のタイプがよくわかりませnodeん - に変更する必要があるかもしれませんNode* volatile node;。
変数を揮発性にしたいのですnodeが、ポイントされたオブジェクトはそうではありません。
c++ - デフォルトの引数、gcc と clang
コードは次のようになります。
VS 2013 および gcc 4.8.0 はそのようなコードを受け入れますが、clang 3.3 はそのようなコードを次のように拒否します。
エラー: 再宣言にデフォルト引数を追加すると、このコンストラクターがデフォルト コンストラクターになります
標準 (C++03 および C++11) の観点から正しいのは誰ですか?
ノート:
私はclangの選択も気に入っていますが、gccとビジュアルスタジオにバグを報告する予定です。これが標準的な観点から正しくない場合、これはコンパイラの開発者にこの問題を修正するよう説得するのに役立ちます.
GCC
ここで問題を説明しました: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58194
しかし運が悪かったので、ドラフトが標準になるまでバグ修正を中断しました。
c++ - clang++ でコンパイルするときの警告
コードをコンパイルすると:
次の警告が表示されます。
>C:\Users\KDesktop\AppData\Local\Temp\cc7XPBuL.o でシンボル `_main' のタイプが 32 から 512 に変更されました
次に、コンパイラは .exe ファイルを生成しますが、実行するとすぐにプログラムがクラッシュします。誰かがこの問題で私を助けてくれますか?
ありがとうございました
linker-errors - clang++ -stdlib=libc++ は未定義の参照につながります
libc++ で clang を使用すると、次のリンカー エラーが発生するのはなぜですか。
どこ:
コードは単純です:
c++ - clang 無限末尾再帰の最適化
% clang++ -O2 test.cc
% 時間 ./a.out 42
1490723512
./a.out 42 0.00s ユーザー 0.00s システム 69% CPU 0.004 合計
% 時間 ./a.out 42
1564058296
./a.out 42 0.00s ユーザー 0.00s システム 56% CPU 0.006 合計
% g++ -O2 test.cc
% ./a.out 42 #無限再帰
^C
それはバグですか、それともclang ++の機能ですか?