問題タブ [visual-c++-2012]
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++ - std::async Visual Studio 2012 Update 2 の減衰 (損失) 右辺値参照。回避策はありますか?
以下のコードを検討してください。
上記は、次のコンパイラ エラーで失敗します。
エラー 1 エラー C2664: 'void Test2::::operator ()(std::future<_Ty> &&,Work) const': パラメーター 1 を 'std::future<_Ty>' から 'std::future に変換できません<_Ty> &&' c:\program files (x86)\microsoft visual studio 11.0\vc\include\xrefwrap 98 1 ConsoleApplication6
GCC 4.7.2 は問題なくコンパイルされます http://ideone.com/KhMiV6
Microsoft Connect で報告する前に:
1) これは VC11 側のバグですか、それとも実際には標準的な動作ですか?
2) これに対する回避策を知っている人はいますか?
編集: Microsoft Connect here で報告しました。より迅速な解決のために、賛成票を投じることをお勧めします。
c++ - C++ での演算子 new のオーバーライドのバイパス
のオーバーライドをバイパスする方法はありますoperator newか?
このようなもの:
背景:
私は最近、Visual Studio 2012 でコンパイルするように切り替えたレガシー コードをいくつか持っています。十分なメモリ ブロックにmalloc失敗すると、ランダムにクラッシュします。_heap_alloc(はい、コードには小さなメモリ リークやその他の悪い動作が散りばめられています。しかし、残念ながら完全なクリーンアップは現実的ではありません。500 000 SLOC 程度です。)
私の現在の理論では、原因は、ほとんどすべてのソース ファイルに、次のオーバーライドを持つヘッダーが含まれていることですoperator new。
のオーバーライドはありませんdelete。
本質的に、これは、アプリケーションが の代わりに を使用mallocした割り当てと解放を使用することを意味します。deletefree
delete最初に Q&D 修正を試みます:その usesのオーバーライドを導入しますfree。しかし、これは部分的にしか役に立ちません。順序を含めたり、リンクされたライブラリが混乱したりすることがあるためです。
2 回目の Q&D 修正の試行: オーバーライドを削除します。残念ながらメモリを 0 に初期化する必要があります。常にそれを行っていた古いコンパイラからの遺産、およびC++が常にそれを行うと想定したコーダー。
new() がそれを処理することは承知していますが、残念ながら、手動ですべてのソース コードを調べて更新することなく、それを利用する良い方法を知りません。また、コンストラクターでそれを行わずにすべてのメンバーを無効にすることを想定している、実装が不十分なクラスには役立ちません。
したがって、Q&D 修正の 3 番目のアイデアは、この質問が尋ねるように、オーバーライドで通常の new を使用することです。
c++ - Visual Studio はアプリケーションを実行する前にビルドしません
デバッグをクリックすると、いくつかの変更を加えてもexeをビルドしないビジュアルスタジオアプリケーションがあり、メニューからビルドをクリックして手動で実行する必要があります。この動作を変更するにはどうすればよいですか?
visual-studio - PC-lint を Visual Studio で動作させる
Gimpel の PC-Lint 9.00j を使用して、何百もの偽のエラーを吐き出さずに Visual Studio 2012 のインクルード ファイルを解析した人はいますか?
私が使用している設定のサブセット (完全な設定ではまったく同じ結果が得られます):
次のワンライナーをリントしようとすると、325 エラーが発生します。
お知らせ下さい。
c++ - DirectX 9 で XMMATRIX を D3DMATRIX に変換する方法は?
www.directxtutorial.com から DirectX (DirectX 9) を学び、Windows 8 で Visual Studio 2012 を使用しています。 D3DMATRIX。
問題コード (書かれた問題 - /問題! /):
visual-studio-2012 - スレッド ビルディング ブロック ライブラリ vc11_ui?
最近、TBB41_20130613 (現時点での Windows の最新リリース) をダウンロードしましたがvc11、vc11_uibin/lib フォルダー用のフォルダーがあることに気付きました。私が知る限り、どちらも同じライブラリ (ファイル名は同じ) を持っていますが、明らかに異なるバイナリ (異なるファイル サイズ) です。ドキュメントまたはGoogle経由で2つの違いについての参照は見つかりませんでした。
2つの違いは何ですか?どちらを使用する必要があるか、または両方を同時に参照する必要があるのはいつですか?
c++11 - メンバー変数に対してムーブ割り当てが呼び出されない
次のコードでは:
Visual C++ 2012 でコンパイルされた行x = f()で、移動代入がベクトルに対して呼び出されると想定しました。代わりに、コピー割り当てが呼び出されていることがわかります。クラスにはコピー/移動代入/コンストラクターが定義されていないため、コンパイラーがデフォルトの移動代入を生成することを期待していました。MyClass移動割り当ての代わりにプレーンベクターを使用すると、正常に機能します。このコードに何か問題がありますか? 何か不足していますか?