問題タブ [visual-c++-2005]
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# - C# から C++ コードを呼び出す
問題があります。私の VS2008 C# コードから、Visual C++ 6.0 で書かれたコードを呼び出す必要があるプロジェクトがあります。誰かがこれを行う方法を知っているかどうか疑問に思っていました。ありがとう
c++ - STL Lower_bound が仕様に準拠していません
_HAS_ITERATOR_DEBUGGING
次のコードは、マクロが等しい場合、C++Builder 2009 または Visual C++ 2005 ではコンパイルされません1
が、コメント アウトされている場合はコンパイルされます。関数がlower_bound
仕様に準拠していないようです。ライブラリは引数を交換しています。仕様書の抜粋です。value
常に 2 番目の引数にする必要があります。私が間違っている?
注: テスト コードは、実行するようには設計されていません。これは、ライブラリのバグを説明するために設計されました。
C++ 仕様の抜粋
25.3.3.1.3
戻り値: 範囲 [first, last] 内の最も遠い反復子 i (ただし、範囲 [first, i) 内の任意の反復子 j に対して、次の対応する条件が保持されます: *j < 値または comp(*j, 値) != false
Visual Studio のエラー メッセージ
メッセージ: エラー C2664: 'double mike::operator ()(const double,const char *) const': パラメーター 1 を 'const char [1]' から 'const double' に変換できません
ファイル: c:\program files\microsoft Visual Studio 8\vc\include\xutility
ライン番号: 314
テストコード
c++ - リンカーエラーLNK1120およびLNK2001
私はこれらのリンカーエラーが嫌いですが、どうすればそれらを取り除くことができますか?
と
.net - Visual C++ 2005 のウィザード
新しいアプリケーションの 1 つのウィザードをまとめようとしています。まともなチュートリアルをウェブで検索していますが、うまくいきません。このチュートリアルとこのウェブサイトを試しましたが、どちらもうまくいきませんでした。開始するのに適した場所を知っている人はいますか? Visual C++ 2005 と .NET を使用しています。次の構造に従うウィザードを作成したいと考えています。
- 名前を入力 (編集ボックス)
- この名前でよろしいですか (確認)
- パーツを入力します (2 つのリスト ボックスから追加および削除できます)。
- すべての部品を追加しましたか? (確認ボックス)
説明が不十分な場合は申し訳ありませんが、必要な追加の詳細を喜んで明確にします。基本的には良い出発点が必要です。前もって感謝します。
.net - C++ .net で前のフォーム ボックスを閉じる
Visual C++ 2005 を使用しており、さまざまな形式のアプリケーションを作成しています。私が望んでいるのは、新しいフォームが開かれたときに前のフォームが閉じられることです。追加する必要があるのは1行のコードだけだと確信していますが、これが初めてなので、それが何であるかわかりません。閉じたいフォームは Form1.h です。どんな助けでも大歓迎です。
これが私の現在のコードです:
c++ - VS 2005 - コマンド ライン プログラムがクラッシュする
VS 2005 で開発されたコマンド ライン プログラムがあります。これは、いくつかのファイルを処理し、出力ファイルを作成します。クラッシュの原因となる入力ファイルがありますが、それは場合によってのみです。プログラムがコマンド ラインを使用して開始された場合 (リリースまたはデバッグ ビルドが発行された場合)、そのファイルの処理中にクラッシュします。しかし、VS 2005 から F5 キー (デバッグ モード) を押して起動すると、問題なく動作し、クラッシュせず、結果も正しくなります。ヒントはありますか?ありがとう。
c++ - タイプパラメータとして「size_t」、キャスト警告は再現されません
私はいくつかの古いコード(現在32ビットビルドで動作しているMSVC 2005を使用する必要があります)の警告を取り除くことを試みてきましたが、変換警告を取り除くのにsize_t
苦労unsigned int
しています。成長するアレイの独自のArray<T>
実装があり、
template<typename I> const T& at(const I i) const {return atImpl(i);}
方法。と呼ばれるとき
size_t i = 10; myArray.at(i);
conversion from 'size_t' to 'const unsigned int', possible loss of data
警告が表示されます。動作理論は、であるとI
理解されておりunsigned int
、これにより、コンパイラはに渡すときにをキャスト/変換しsize_t
ます(これは不便ですが許容できます)。ただし、最小限の作業例(この投稿の下部)でも、より複雑な最小限の例でも、この警告を再現することはできませんでした。パラメータをキャストするだけで警告が消え、私たちのニーズには十分です(契約により、数はに収まります)unsigned int
i
at
unsigned int
unsigned int
I
そのような呼び出しに参加することについての私の理解はunsigned int
正しいですか(specは「typedef-nameは別のタイプの同義語です。typedef-nameは新しいタイプを導入しません」とtypeid(size_t(1)).name()
言ってunsigned int
おり、フィードされているようです)size_t
。typedef
言い換えれば、最小限の例で警告を出すべきかどうか。私の知る限り、ビルド構成は同じです。- 私たちのコードは警告を出しますが、最小限の例はそうではないので、私が見落としているに違いないことがあります。あらゆる努力にもかかわらず、私は何を理解することができません。アイデア?
ありがとう
最小限の例:
c++ - 親名前空間のテンプレートクラスと友達になるにはどうすればよいですか?
クラスを親名前空間のテンプレートの友達にするのに苦労しています。誰かが私が間違っていることを説明できますか?
MSVC8(Visual Studio 2005)での私の試みとエラーは次のとおりです。
エラーC2888::a::b::x
名前空間内でシンボルを定義できませんc
エラーC2888::a::b::x
名前空間内でシンボルを定義できませんc
エラーC2039::はのx
メンバーではありませんa::b
循環インクルードにつながるclass x
ことに依存するため、含むヘッダーファイルだけをインクルードすることはできません。class y
visual-c++ - LNK1112モジュールのマシンタイプ「X86」がターゲットマシンタイプ「x64」と競合します(VC ++ 2005)
次の手順を使用して、Visual Studio2005Professionalで空の64ビットC++アプリケーションを構築しようとしています。
- 新しいWin32コンソールアプリケーションプロジェクトを作成します
- Configuration Managerに移動し、タイプx64の新しいソリューションプラットフォームを作成し、Win32から設定をコピーします
- 保存してビルド
ただし、次のエラーが発生します。
LINK : fatal error LNK1104: cannot open file 'kernel32.lib'
だから、私はライブラリディレクトリを更新して:を指すようにしましたkernel32.lib
:
- [プロジェクトのプロパティ]、[リンカー]、[一般]、[追加のライブラリディレクトリ]に移動し、[C:\ Program Files \ Microsoft Visual Studio 8 \ VC \ lib\amd64]を設定します。
- 保存してビルド
これは私にエラーを与えます:
LINK : fatal error LNK1104: cannot open file 'user32.lib'
だから、私はライブラリディレクトリを更新して:を指すようにしましたuser32.lib
:
- プロジェクトのプロパティ、リンカー、一般、追加のライブラリディレクトリに移動し、「C:\ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Lib\x64」を追加します。
- 保存してビルド
しかし今、私はエラーを受け取っています:
.\x64\debug\stdafx.obj : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'
私が間違っていることについて何か考えはありますか?