問題タブ [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++ - Clang 3.1 と VC11 Beta ヘッダーを使用して C++ ソースをコンパイルすることはできますか?
Windows で stl ヘッダーと clang を使用して、かなり単純な「hello world」プログラムをコンパイルしようとしていますが、それができません。
VC11 Beta を使用してリポジトリから Clang 3.1 を問題なくコンパイルしました。現在、コンパイル済みの Clang を使用して、VC11 ヘッダーを使用して「hello world」サンプルをコンパイルしようとしていますが、VC11 でシミュレートされた可変個引数テンプレートのマクロ マジックで Clang が失われていることを示すようなエラーが多数表示されます。私はこのマクロ マジックを直接利用しているわけではありません。
私のインクルードディレクトリ:
- C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include
- C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\include
- C:\Program Files (x86)\Windows Kits\8.0\Include\um
- C:\Program Files (x86)\Windows Kits\8.0\Include\shared
- C:\Program Files (x86)\Windows Kits\8.0\Include\winrt
次のようなエラーが表示されます。
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\xstddef:1094:24: エラー: '_Nil' は値を参照していません
そして、マクロに関連するその他の束。
誰かがこのマクロの問題を克服できましたか? このマクロを展開する際に、clang プリプロセッサに問題はありますか?
c++ - BitScanForward64 を使用できません
ビットボード (__int64s) を使用する C++ でチェス エンジンを構築しています。計算のために BitScanForward64 を使用する必要があります。しかし、それを呼び出すと、次のエラーが発生します。
エラー C3861: '_BitScanForward64': 識別子が見つかりません
私はそれを次のように含めます:
BitScanForward64 も同様です。
Windows 7 (64 ビット)でVisual Studio 11を使用しています。CPU:インテル Core i7-2600K
私はこれまで C++ を使った多くのプロジェクトを行ったことがないので、なぜこれが起こっているのかわかりません。助けてください!
c++ - std::unique_ptrを使用する必要があります私のクラスのstd::vectorメンバー変数で?
タイプのオブジェクトを格納したいタイプclass C
のメンバー変数を持つaを想像してみてください。内のオブジェクトを追加または削除する2つの関数があります。
また、オブジェクトのコレクションを読み取る必要があるため、の消費者がアクセスできるようにする必要があります。コレクションの外部リーダーにはコレクションを変更する手段がないため、オブジェクトはによってのみ所有されます。m_MyList
std::vector
MyClass
C
m_MyList
m_MyList
C
MyClass
MyClass
C
今私の質問:C ++ 11スタイルで、ベクトルに格納するのに最適なTは何ですか?可能性は次のようです。
std::vector<MyClass>
std::vector<MyClass*>
std::vector<unique_ptr<MyClass>>
、をstd:move
に押し込むために使用unique_ptr
するvector
c++ - VS11ベータ版のないコンピューターでVS11ベータ版で開発されたアプリを実行する
VisualStudio11ベータ版を使用してアプリを開発しました。アプリは、VS11ベータ版がインストールされていないコンピューターでは実行されません...
.NET Framework 4.5をインストールしましたが、役に立ちませんでした...
VS11を使用していないコンピューターでファイルを機能させるには、ファイルを何をインストールまたは追加する必要があるかについて、誰かが提案を持っていますか?
c++ - std :: thread :: join()は、VS2012 RCを使用しているときにmain()が終了した後に呼び出されるとハングします
次の例は、Ubuntu12.04でClang3.2またはGCC4.7を使用してコンパイルすると正常に実行されます(つまり、ハングしません)が、VS11BetaまたはVS2012RCを使用してコンパイルするとハングします。
問題std::thread::join()
は、終了後に呼び出された場合に戻らないということのようmain
です。cthread.cWaitForSingleObject
で定義されているでブロックされます。_Thrd_join
SleepFor(100);
の最後でコメントを外すと、非静的main
にするのと同様に、プログラムを適切に終了できます。std_test
を使用boost::thread
すると、問題も回避できます。
それで、ここで未定義の動作を呼び出しているのか(私にはありそうもないようです)、またはVS2012に対してバグを報告する必要があるのかどうかを知りたいですか?
c++ - vs2012 rc の範囲ベースの for ループ
次の範囲ベースの for ループは、VS2012 で正常に動作します。
ただし、これは機能しません。
違いは何ですか?
PS: std::initializer_list テンプレート クラスも見つかりません。この新しい VS2012 RC がサポートする C++11 の機能を知る必要があります。何か案が?
c++ - decltype およびメンバー関数 (ポインターではない) 型
メンバー関数型というような型はないので(ないですよね?)、 になると思いC::type
ますint (int)
。
ただし、以下は Visual C++ 2012 RC を使用してコンパイルできません。
では、どのタイプdecltype(C::Foo)
ですか?
c++ - メンバー関数にバインドされた std::function
次のコードは VS2012 でコンパイルされません
ただし、割り当てを次のように変更します。
動作します。
元の構文を示すオンラインの例がたくさんあります。この構文を禁止するために、C++11 仕様で何か変更がありましたか?
課題の有効な短縮形はありますか?
編集:コンパイラエラー(再現性のためにわずかに編集)は次のとおりです。
c++ - C++11 ファイルシステム (VS2012)
vs2012 に含まれるヘッダーに関するドキュメントを見つけるのに苦労しています。ここで言及されているようですが、使用方法に関するリンクは提供されていません。私が本当に探しているのは、それを使用する方法に関するドキュメントであり、ビジュアル スタジオの実装が優先されます。ありがとう
.net - Azureの起動タスクがハングする
Visual C ++ 2012ランタイムライブラリセットアップファイル を追加したMVC4ロールを持つAzureプロジェクトと、それをサイレントインストールするためのスクリプトがあります。
スクリプトが機能し、ライブラリがインストールされます。唯一の問題は、タスクが終了せず、インストールプロセスが終了しないことです。これにより、ロールの開始がブロックされます。
リモートデスクトップを使用してサーバーに接続しました。タスクマネージャーを見ると、プロセスvcredist_x64.exeがわかります:(実際には2つですが、これは正常だと思います)
プロセスを右クリックして強制終了すると、展開が正常に終了し、役割が開始されます。
これは、ServiceDefinition.csdefで起動タスクがsimpleに設定されている場合に問題になります。これにより、タスクが終了して役割を開始するまでサーバーが待機するためです。そのため、タスクをバックグラウンドに設定して、起動スクリプトが役割の開始をブロックしないようにしましたが、それでもプロセスはバックグラウンドで実行されているため、手動で強制終了する必要があります。
このスクリプトは機能するはずであり、以前は2010 VC ++ライブラリを使用していました(ただし、EXITはありませんが、スクリプトがエラーコードを返した場合に役割がブロックされないようにするために存在する必要があります)。
動作しなかったので、インストール後に手動でプロセスを強制終了すると思いました。
動作しませんでした、プロセスはまだ生きていました。スクリプトは、サーバー上で手動で実行した場合、またはローカルで実行した場合に実際に機能しますが、Azureが展開中に実行しようとすると、ハングします。
私のスタートアップタスクは、ServiceDefinition.csdefで次のように定義されています。
ログインはC:\Resources\temp\{RoleId.RoleName}\RoleTemp
すべてがうまくいったと言っています。
startup-taskを単純ではなくバックグラウンドに設定することで役割がブロックされないようにすることはできますが、それでも問題は解決しません。ありがとう。