問題タブ [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.

0 投票する
7 に答える
61424 参照

c++ - VisualStudio2012のC++11機能

Visual Studio 2012のプレビューバージョン(VS2010の次のバージョン)が利用可能になりました。

誰かがそれがサポートする新しいC++11機能を知っていますか?(私は現時点でそれを試す立場にありません)。

0 投票する
6 に答える
42740 参照

c - Visual Studio 2012 で C アプリをコンパイルする

Microsoft Visual Studio 2012 を使用して C でアプリケーションを作成する予定です。問題は、エディターで正しくコンパイルする方法が見つからないことです。この解決策を見つけましたhttp://msdn.microsoft.com/en-us/library/bb384838.aspxしかし、私はそれが好きではありません。Visual Studio 2012 で C プログラムをコンパイルする方法を教えてください。

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

c++ - C++ラムダはオーバーロードされた関数を正しく選択しませんか?

コンテナーを反復処理し、各要素をフィルター処理のために述語に渡す関数があります。この関数のオーバーロードは、各要素のインデックスも述語に渡します。

これらの関数のいずれかを裸のラムダで呼び出そうとすると、VC11 でコンパイラ エラーが発生することがわかりましたが、std::function オブジェクトを使用すると成功します。

これは予想されることですか?これらの関数をオーバーロードする別の方法はありDoSomethingIfWithIndexますか?

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

c++ - std::future を使用した VS 11 - これはバグですか?

最近、Visual Studio 11 Developer Preview をインストールしました。スレッドと先物をいじっているうちに、私はこの設定にたどり着きました:

とてもシンプルです。しかし、「foo」には 2 つの引数があるため、VS 11 はそれをコンパイルしたくありません。(ただし、g++ は: http://ideone.com/ANrPj ) (実行時エラーは問題ありません: C++0x の gcc 実験的実装での std::future 例外) (VS 11 エラーメッセージ: http://pastebin. com/F9Xunh2s )

たとえそれが開発者向けのプレビューであっても、このエラーは私には非常に明白であるように見えるので、私は今少し混乱しています。だから私の質問は:

  • このコードは C++11 標準に従って正しいですか?
  • このバグは既に知られている/報告されていますか?
0 投票する
2 に答える
3337 参照

c++ - VC++11のstd::threadクラスは、ランダムなクラッシュを引き起こします。回避策はありますか?

Visual Studio 11 Developer Previewでバグに遭遇しました。少なくともそれはバグだと思い、報告しましたが、誰かが回避策を知っているかどうか興味があります。

クラスを使用std::threadして複数のスレッドを作成すると、アプリケーションがクラッシュします。例外をスローすることもあれば、アクセス違反を引き起こすこともあり、機能することもあります。バグを再現するコードは次のようになります。

静的または動的CRTライブラリが使用されているかどうかは関係ありません(それらはすべてマルチスレッドです)。

バグレポート

スタックトレース(例外がスローされ、所有されていないミューテックスのロックが解除されます):


スタックトレース(アクセス違反):

ありがとう!

0 投票する
3 に答える
3087 参照

c++ - MSVC++ の std::tuple でサポートされているテンプレート引数の数を変更するにはどうすればよいですか?

MSVC++ はまだ可変個引数テンプレートをサポートしていないため、その標準ライブラリstd::tupleは、マクロを使用するなどして、これらをクラス用に "偽造" します。私は最近、自分のプロジェクトの 1 つを VC11 ベータ版でコンパイルしようとしましたが、これが表示されました。

この設定を変更するためにどこかに設定できる があると聞いたことがあり#defineますが、私は (私の人生では) それが何であるか思い出せません。それは何ですか?

0 投票する
3 に答える
130276 参照

c++ - Lambda の明示的な戻り値の型

このコード (VS2010) をコンパイルしようとすると、次のエラーが発生します。 error C3499: a lambda that has been specified to have a void return type cannot return a value

ラムダの戻り値の型が「void」であることをどのように指定しましたか。さらに、ラムダの戻り値の型が「bool」であることを指定するにはどうすればよいですか?

アップデート

以下はコンパイルされます。なぜそれがコンパイルされ、もう一方がコンパイルされないのか誰か教えてください。

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

c++ - ムーブ コンストラクターと非 const コピー コンストラクター

私はムーブ コンストラクターの初心者です。いくつかのサイトから調査し、Visual Studio 11 Express Beta を使用してみました。

以下は私のテストコードです...

移動コンストラクタに入らない理由がわかりません。

これは実際には Get(); の Rvalue です。

const コンストラクターから非 const コピー コンストラクターを変更した場合、

移動コンストラクターに入ります。挙動が変わった…

なぜそれが起こったのか、誰か親切に説明してもらえますか?

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

visual-c++ - C++でのWinRT非同期ファイル操作

私は現在、いくつかのテキストリソースを必要とするメトロアプリに取り組んでいます。ビルドプロセスの一部は、これらすべてのリソースをアプリのインストールディレクトリ内のフォルダーにコピーすることです。私がやりたいのは、これらのリソースファイルのリストを収集し、それに応じてそれぞれを処理することです。残念ながら、そうしようとした私の試みは成功していませんでした。

WinRT用にビルドしているため、非常に便利な「FindFirstFile」関数と「FindNextFile」関数を使用できません。WinRT非同期ファイルIO操作を使用してジョブを実行しようとしています。

コンパイルに失敗するもの:

エラーC2664:'Windows :: Foundation :: IAsyncOperation <TResult> :: Completed :: set':パラメータ1を'Windows :: Foundation :: AsyncOperationCompletedHandler<TResult>^'から'Windows:: Foundation ::AsyncOperationCompletedHandler<に変換できませんTResult> ^ '

エラーは私には意味がありません。ラムダハンドラー関数がインラインにならないように上記のコードを書き直してみましたが、違いはありません。何が悪いのかわかりません。

何か案は?前もって感謝します。

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

c++ - アンプ ライブラリ エラー

C++ Amp ライブラリの使用を開始しようとしています。このMSDN マガジン ガイドに従っていますが、(私のコードではなく) アンライブラリにあるコードのこの部分でエラーが発生します。

エラーは

3 IntelliSense: amp-restricted 関数 "Concurrency::details::_Texture_descriptor::_Texture_descriptor(Concurrency::details::_Texture *_Texture_ptr) restrict(cpu,amp)" の不正なパラメーター型 "void *" (の 538 行で宣言"c:\program files (x86)\microsoft Visual Studio 11.0\vc\include\amprt.h") c:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\amprt.h 1466 16

これまでにコピーしたコード

ビルド出力