問題タブ [visual-c++-2013]
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++ - IUnknown ポインター参照
Visual Studio コンパイラが満足する理由
と
だがしかし
呼び出しがどのように見えるか
コンパイラエラーは
3 IntelliSense: タイプ "IUnknown *&" (const 修飾されていない) の参照は、タイプ "IDXGIFactory *" の値で初期化できません c:\Users\Carl\Documents\Visual Studio 2013\Projects\Project1\Project5\main .cpp 29 10 Project5
私が研究で掘り下げた最も近いことは、コンパイラーが一度に 1 つの型変換しか実行しないということですが、それは正しくありません。なぜなら、const & version は型と const の変換を実行できなくなるからです。ただし、実際にコンパイルされないのは &バージョンです。
c++ - Visual C++ はプロトタイプと実装の不一致をチェックできますか?
VC コンパイラは、プロトタイプの実装が見つからない場合に警告できますか?
例 (パラメータの不一致に注意):
と
更新:どうやら G++ には、-Wmissing-declarations
私が必要とするものに沿っていると思われるスイッチが呼び出されているようですが、明らかに VC++ 用です。
winforms - Visual C++ で MySql 接続が開いているかどうかを確認する
申し訳ありませんが、退屈している場合は。いくつかの検索エンジンで検索しましたが、結果が得られませんでした。とにかく、データベースがmysqlであるアプリで作業しています。データベース ラッパー クラスを作成したので、接続が既に開かれているかどうかを確認したいと考えています。私を助けてもらえますか?
if( conDatabase->HasBeenOpened()) { conDatabase->Open();} を確認する必要があります
wix - WiX ブートストラップを使用して、Visual C++ 2013 再頒布可能パッケージが既にインストールされていることを確認するにはどうすればよいですか?
WiX インストーラー用のブートストラップを作成しようとしています。VC++ 2013 再頒布可能パッケージをインストールする必要があります (x86 および x64 プラットフォーム用)。また、これらのパッケージが既にインストールされている場合は、それらのインストールをスキップしたいと考えています。そのために、各パッケージの product.xml に次の要素を追加します。
問題は、どの製品コードが必要かということです。
Google が私を助けてくれなかった後、vcredist_2013_x86.exe を抽出して msi ファイルのプロパティを調べようとしましたが、それは別の問題でした。7Zipを使用して抽出した後、「0」、「u0」、「u1」、「u2」などの奇妙な名前のファイルの束しか得られませんでした。ファイル「0」はBurnマニフェストであることが判明しました。製品コード: for x86:{13A4EE12-23EA-3371-91EE-EFB36DDFFF3E}
および for x64:が含まれてい{A749D8E6-B613-3BE3-8F5F-045C84EBA29B}
ました。だから私はそれらを使用しようとしましたが、運がありませんでした。MsiProductCheck
パッケージがインストールされているにもかかわらず、-1 を返しました。
次に、HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall レジストリ キーでどのような変更が発生するかを調べました (私は Win8.1 で作業しています)。インストール時に追加され、アンインストール後に削除されるキーは{ce085a78-074e-4823-8dc1-8a721b94b76d}
、x86 と{7f51bdb9-ee21-49ee-94d6-90afc321780e}
x64 で異なります。しかし、彼らもうまくいきませんでしたMsiProductCheck
。インストールしても結果は -1 (不明な製品) のままでした。
だから私は今、絶望しています。私が持っている唯一のアイデアは、RegistryCheck
代わりに使用MsiProductCheck
して、アンインストールでキーを確認することです。しかし、ここで何が問題なのか知りたいです。VC++ 2013 再頒布可能パッケージには、どの製品コードを使用する必要がありますか? パッケージのインストール中に追加されたキーだけが で機能しないのはなぜMsiProductCheck
ですか?
c++ - VS2013 C++ 構造体のパッキングを古い MSVC++ コンパイラ バージョンに一致させますか?
アンマネージ C++ ライブラリ (MSVC++ コンパイラ バージョン 13 を使用してコンパイルされ、2002 年または 2003 年のもの) を CLI C++ コンソール アプリケーション (Visual Studio 2013 を使用) でラップして、最終的に C# プロジェクトから呼び出すようにしています。
ラッパーをビルドして実行することはできましたが、実行時に得られた結果から、VS2013 の C++ コンパイラは、アンマネージ ライブラリがそれらを読み取る方法とは異なる方法でスタクトをパックしていると思われます。
バージョン13コンパイラと同じ方法で構造体をパッケージ化するようにVS2013に指示する方法はありますか? それとも、古いコンパイラーを見つけて、基本的なアンパック型のみを公開する中間ラッパーを作成する必要がありますか?