★初心者にVisual C++を教えるスレ★ Part38
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2011/11/03(木) 00:54:48.61お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。
■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう、特にWindowsForm、MFC、Win32アプリケーションの区別。
・できるだけ具体的に。
質問の仕方については次のページが大変参考になります。
http://www.hyuki.com/writing/techask.html
■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
(MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。
【過去スレ】
Part37 http://hibari.2ch.net/test/read.cgi/tech/1299982561/
Part36 ttp://hibari.2ch.net/test/read.cgi/tech/1273939582/
Part35 ttp://pc12.2ch.net/test/read.cgi/tech/1256645713/
Part34 ttp://pc12.2ch.net/test/read.cgi/tech/1245382769/
Part33 ttp://pc12.2ch.net/test/read.cgi/tech/1235292263/
0447デフォルトの名無しさん
2012/07/28(土) 09:12:38.31使用するキーは、「0」〜「9」の数字キー、プラスマイナスを判定する「-」キー、少数点の「.」キー、決定の「Enter」キーです。
WndProc(ウィンドウプロシージャ)内のWM_KEYDOWNメッセージで押されたキーを認識してるのですが、
case WM_KEYDOWN:
if( wp == VK_RETURN ){
エンターキー処理;
} else if( wp == '0'){
「0」キー処理;
}
こんな感じで数字とエンターキーは認識出来たのですが、「 - 」「 . 」この2つが認識できませんでした。
「 - 」「 . 」この2つが押されたことを認識する方法を教えてください。
XP VC++6
0448デフォルトの名無しさん
2012/07/28(土) 09:19:33.160449デフォルトの名無しさん
2012/07/29(日) 15:38:09.00うちとこでは WM_KEYDOWN の、
switch( wp ) {
case VK_SUBTRACT: // '-'
case VK_DECIMAL: // '.'
break;
}
で普通に行けたけど。
エンターキーとかが拾えてるなら、そこにブレークポイントを置いてキーを押してみればどんな値が来るか分かるじゃん。
分かったら例示にある VK_RETURN の「定義で移動」で定義元に飛んで、上で確認した値に該当する define 定義を見つけられるよ。
0450デフォルトの名無しさん
2012/07/29(日) 15:38:36.41x 解説
o 解決
0451デフォルトの名無しさん
2012/07/29(日) 15:44:29.600452デフォルトの名無しさん
2012/07/29(日) 20:12:47.400453デフォルトの名無しさん
2012/08/02(木) 17:50:09.68どうやって使うのですか?
using namespace System;
int main()
{
return 0;
}
エラー
'System' : この名前を指定された名前空間は存在しません。
0454デフォルトの名無しさん
2012/08/02(木) 17:55:33.04ttp://eternalwindows.jp/unmanaged/host/host01.html
0455デフォルトの名無しさん
2012/08/02(木) 19:17:26.38ありがとうございました
0456デフォルトの名無しさん
2012/08/07(火) 02:43:20.16C言語でシリアル通信を行ってデータの送受信を行おうと思っています。(Visual c++ 6のwin32api)
CreateFileやReadFile、WriteFileなどの関数を使って送受信をしようと思っています。
しかし、自分側のプログラムは(多分)出来たのですが、(通信)相手側がまだ完成していないので、
自分側のプログラムだけでも正しく動作してるのか確認(デバッグ)したいのです。
そこでPC2台を繋げて、自分のプログラムが通信(送信・受信)したいタイミングで、もう1台のPCからデータを送ったり、
受信した内容を確認したいのですが、どのように行えば良いでしょうか?
教授の助言では、teratermを使って・・・とのことですが。。。
teratermの使い方をいろいろ調べた結果、両方のPCでteratermを起動させ、A側で「a」を押すと、B側のteratermにaが表示される(その逆も)
くらいは出来たのですが、この方法を用いてVC6で作ったwin32apiの動作を確認する方法が分かりません。
0457デフォルトの名無しさん
2012/08/07(火) 08:34:21.71相手側のアプリの替わりにteratermを使うんだよ
0458デフォルトの名無しさん
2012/08/07(火) 10:44:06.560459デフォルトの名無しさん
2012/08/07(火) 21:09:11.54それをちっと弄って相手側の役割をするように変えてやればいいんじゃねーか?
0460デフォルトの名無しさん
2012/08/15(水) 01:15:26.56Windowsフォームアプリケーションを使用して、フォルダ作成プログラムを作ろうとしているのですが、
どうもうまくいきません。
フォームはテキストボックス、ボタンからなり、テキストボックスに文字列を入力し、ボタンを押すと
入力した文字列名でフォルダが作成されるというプログラムです。
書いたコードを以下のサイトに張り付けたので、どうすればうまくいくかご教示お願いします。
http://ideone.com/TWwHO
0461デフォルトの名無しさん
2012/08/15(水) 01:56:41.54using namespace System::Runtime::InteropServices;
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
System::String ^ str = this->textBox1->Text;
char* str1 = (char*)(void*)Marshal::StringToHGlobalAnsi(str);
_mkdir(str1);
}
0462デフォルトの名無しさん
2012/08/15(水) 10:10:11.140463デフォルトの名無しさん
2012/08/15(水) 10:19:51.110464デフォルトの名無しさん
2012/08/15(水) 12:49:30.440465デフォルトの名無しさん
2012/08/15(水) 21:42:56.31どんなトラップなんだと。w
0466デフォルトの名無しさん
2012/08/16(木) 16:32:01.020467デフォルトの名無しさん
2012/08/22(水) 18:02:31.68XMLファイルを読み込んで、配列かArrayListに格納するコードを書こうと思っています。
上記のようなことを行うにはどのような方法が簡単かつ適切でしょうか?
また、C#のようにXMLスキーマを用いて、データセットにXMLの値を格納する方法はC++でも可能でしょうか?
ぐぐっても半端な情報が散見するばかりで、少し途方に暮れています。
0468デフォルトの名無しさん
2012/08/22(水) 18:19:07.000469デフォルトの名無しさん
2012/08/22(水) 19:18:28.91ありがとうございます。
ただ、Boost導入は難しい環境にて作成しております。(情報不足で申し訳ありません
Boostを使わずに実現する方法はないでしょうか?
0470デフォルトの名無しさん
2012/08/22(水) 20:30:02.720471デフォルトの名無しさん
2012/08/23(木) 01:25:19.39・DeleteObject
・DeleteDC
・ReleaceDC
・DestroyMenu
・FreeLibrary
・DragFinish
・FreeConsole
・GlobalUnlock
・ReleaseMutex
・CloseHandle
・etc
なども処理されて無い場合確認できるものが存在するのですか?
0472デフォルトの名無しさん
2012/08/23(木) 01:33:38.730473デフォルトの名無しさん
2012/08/23(木) 17:51:53.90ありがとうございました
0474デフォルトの名無しさん
2012/08/26(日) 21:06:18.92XP以前ならクラシックスタイル
XPならXPスタイル
VistaならVistaスタイル
7なら7スタイル
で表示するようにするにはどうすればいいですか?
それぞれ別の設定でビルドするしかないですか?
0475デフォルトの名無しさん
2012/08/26(日) 21:52:41.140476デフォルトの名無しさん
2012/08/26(日) 22:45:28.41ありがとうございました
0477デフォルトの名無しさん
2012/08/26(日) 22:56:28.91<assemblyIdentity
・・・
name="この部分"
・・・
/>
<description>この部分</description>
タスクマネージャのプロセスタブにある「説明」の欄に表示されたり
プロパティでは表示されないみたいですが
また別物なんですか?
0478デフォルトの名無しさん
2012/08/26(日) 23:04:24.060479デフォルトの名無しさん
2012/08/26(日) 23:42:01.08内部で使用されるだけなんですね
0480デフォルトの名無しさん
2012/08/27(月) 00:43:56.58ソース上だと#defineで分岐するとビルド時のシステムに搭載されているCPUを気にしなくてもいいのですが
.xml上で自動で搭載されているCPUに合った値を使用する方法はありますか?
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
またOSによってビジュアルスタイルが変わると思うのですが
dllを読み込むのだからOSが使用できるビジュアルスタイルが自動的に描画される
という認識であってますか?
0481デフォルトの名無しさん
2012/09/04(火) 01:45:17.53ダイアログにはリストボックスがあり、スレッドの中でリストボックスにアイテムを追加したいと考えています。
MFCを使用しています。スレッドは_beginThreadで呼び出しています。
リストボックスのオブジェクトを取得するために以下のようにして取得をしたいと考えています。
CListBox* List = (CListBox*)GetDlgItem(リストボックスのID);
この処理はダイアログ::OnInitDialog()のような継承を行った部分の中では問題なく使用できるのを確認したのですが、
これを使ってスレッド内でオブジェクトを取得するにはどうしたらいいか悩んでいます。
スレッドは以下のような関数を呼び出しています。
void Thread(void* p){
//処理
}
スレッドの中でリストボックスのオブジェクトを取得してリストボックスにアイテムを追加する方法の知恵を授けては頂けませんでしょうか
0482デフォルトの名無しさん
2012/09/04(火) 01:47:56.440483デフォルトの名無しさん
2012/09/04(火) 02:05:55.94なるほど
先にCListBox* List = (CListBox*)GetDlgItem(リストボックスのID);として
_beginThread(Thread,0,List);のように引数にListを渡すということでしょうか?
この考え方が間違ってたら申し訳ありません。
0484デフォルトの名無しさん
2012/09/04(火) 02:10:28.960485デフォルトの名無しさん
2012/09/04(火) 02:21:04.38それだと複数引数で渡したい場合は構造体にでも入れて渡せば問題なさそうです。
回答ありがとうございます。非常に助かりました。
0486デフォルトの名無しさん
2012/09/04(火) 21:56:06.00そもそもワーカースレッドの中で画面アイテムの更新て出来たっけ?
そう言う場合、リストボックスに入れるデータを格納したバッファなりを作って、スレッドではそこにデータを格納。
続けてウィンドウメッセージかなにかでウィンドウにメッセージを送ってメインスレッド(て言うんだっけ)でリストを更新、
て流れでいつも作ってた。
0487デフォルトの名無しさん
2012/09/04(火) 22:20:13.570488デフォルトの名無しさん
2012/09/05(水) 11:30:23.73Photoshop CS5のプラグインを作りたくて
Visual Studio 2010 Express (C++)をインストールして
次に、
PhotoshopCS5 SDK(forWindows)
ttp://www.adobe.com/devnet/photoshop/sdk.html
をダウンロード
試しにサンプルでもと思い。
「\adobe_photoshop_cs5_sdk_win\pluginsdk\samplecode\selection\selectoramashape\win」内の
「SelectoramaShape.vcproj」をダブルクリック!!
VS「変換ウィザードへようこそ」???→なんか知らんが、完了!
VS「変換中にエラーがあったよ」→閉じる。。。
ソリューションファイルからならイケる!(ってどっかのサイトに書いてあった)
VS「変換ウィザード。。。。
みたいな事になってます。
環境はWindows7で
変換レポートの中のエラーは
「Converting project file '***\SelectoramaShape.vcproj'Failed to upgrade platform 'x64'. Please make sure you have it installed under '%vctargetspath%\platforms\x64'
VCWebServiceProxyGeneratorTool is no longer supported. The tool has been removed from your project settings.
Attribute 'Detect64BitPortabilityProblems' of 'VCCLCompilerTool' is not supported in this version and has been removed during conversion.
Failed to upgrade 'Debug|x64'. Please make sure you have the corresponding platform installed under '%vctargetspath%\platforms\x64'
The project configuration dimension name/value "(Platform, Win32)" was not found in the project manifest.
プロジェクトはアップグレードに失敗しました。
」です。
お願いします。助けて下さい。
0489デフォルトの名無しさん
2012/09/05(水) 11:51:15.84環境は64bit?
そのVC++はSDK追加して64bitコンパイルできるようにしてる?
0490デフォルトの名無しさん
2012/09/05(水) 11:54:32.792010用に書き換えるか、とりあえず2008で試してみては
0491sage
2012/09/05(水) 12:07:50.84>>490
なるほど。そういうことだったんですね。
ちょっと2008インスコしてきます。
2008も64bitコンパイルできるように設定しないとだめっすか?
0492デフォルトの名無しさん
2012/09/05(水) 12:21:23.20あとx64使えるようにするのは2008は面倒だよ。
そのエラーが出てプロジェクト開けないの?
開けてるならWin32のみ使えばいいんで問題ないと思うけど。
0493デフォルトの名無しさん
2012/09/05(水) 12:49:22.38あやうく2010消すとこでした。^^;
エラーが出てプロジェクトが開けないんです。
左のソリューションエクスプローラーに
・SelectoramaShape(利用不可)
プロジェクト ファイルはアンロードされました。
みたいな感じで表示されてます。
0494デフォルトの名無しさん
2012/09/05(水) 12:52:48.98ググって試してみりゃいい。
あとvcprojをテキストエディタで開いてx64のブロック消すとか
0495デフォルトの名無しさん
2012/09/05(水) 14:00:07.48VC++2008で64bitでビルド実行できるようになって、その後2010で使いたいなら
2008を残したまま2010インストール
→2010で64bitビルド実行できるようにする(テストプログラムでも作って確認)
→2010でSelectoramaShape?のソリューションを開く
→ウィザード変換
→プロジェクトのプロパティ->構成プロパティ->全般->プラットフォーム ツールセットv90でリビルド
→エラー無し確認後v90をv100にしてリビルド
→エラー無し確認
これで以降はVC++2010のみで管理可能になると思う
0496デフォルトの名無しさん
2012/09/05(水) 16:37:05.62__declspec(noinline) void __stdcall foo1(FOO h){
printf("%d %x %d %s", h.a, h.b, h.c, h.d);
}
__declspec(noinline) void __stdcall foo2(int a, int *b, long c, char *d){
printf("%d %x %d %s", a, b, c, d);
}
typedef void (__stdcall *FOO1)(FOO);
typedef void (__stdcall *FOO2)(int, void *, long, char *);
int _tmain(int argc, _TCHAR* argv[]){
FOO h = { 6, &h.a, 8, "abc", };
foo1(h);
((FOO1)foo2)(h);
foo2(h.a, h.b, h.c, h.d);
((FOO2)foo1)(h.a, h.b, h.c, h.d);
return 0;
}
最適化するとfoo2はfoo1と同じと見なされ、消えてしまいました。
しかし、呼び出し方は全く異なります。
foo2はpushで引数を入れていますが、
foo1はスタックポインタを進めて、全部movしていました。
するとfoo1は呼び出しコストが高くなるので
FOO2にキャストしてから呼んでみたところ
foo2と同じようにpushで引数を入れてくれました。
このような、引数と構造体の置き換えは、
アライメントが違ったり、浮動小数が入っていると
できない場合もあると思いますが、他にできないパターンが
あったら教えてください。
0497デフォルトの名無しさん
2012/09/06(木) 04:13:40.82え? 逆じゃないの?
プッシュはmuvより複雑で面倒な命令だから、実行時間が長くなるんじゃない?
試しに何回も呼び出しを繰り返させて実行時間を計ってみ?
0498デフォルトの名無しさん
2012/09/06(木) 11:03:53.54>え? 逆じゃないの?
>プッシュはmuvより複雑で面倒な命令だから、実行時間が長くなるんじゃない?
すみません、おっしゃる通りでした。
以下のようにベンチしたところ、若干foo1呼び出しの方が速かったです。
http://ideone.com/2rTrd
コードが明らかに長くなるので、それだけ見て勘違いしておりました。
となると、サイズより速度を優先する最適化で、pushをmovに置き換える
コードが生成されないのはなぜですか?
また、((FOO1)foo2)(h);の行が入っていない場合、
foo2はfoo1に統合されませんでした。
しかも、関数自体はfoo1より、統合されないfoo2の方が速かったです。
謎だらけです。
0499デフォルトの名無しさん
2012/09/06(木) 14:08:24.61>>495
ありがとうございます。
なんとかできました。
できたはできたんですが、
自分が作りたかったプラグインはすでに存在してました orz
0500デフォルトの名無しさん
2012/09/06(木) 15:42:04.15呼び出し時に構造体から変数に置き換えるか、関数内で置き換えるかの違いかと。
0501デフォルトの名無しさん
2012/09/06(木) 15:59:16.260502デフォルトの名無しさん
2012/09/06(木) 16:20:31.700503デフォルトの名無しさん
2012/09/06(木) 21:38:56.41関数内では構造体使わない方が速い
グローバル構造体宣言して使いまわすとか無しな
0504デフォルトの名無しさん
2012/09/07(金) 14:46:45.00time_t time = time(NULL);
struct tm *ptime = localtime(&time);
として、YYYYMMやMM:DDのような書式にあわせた日付を取得する方法としてどのような方法があるのでしょうか?
YYYYと書式を設定したら2012、YYYY/MMと設定したら2012/09のようになるイメージです。
0505デフォルトの名無しさん
2012/09/07(金) 16:52:48.330506デフォルトの名無しさん
2012/09/07(金) 16:55:36.66つ ttp://msdn.microsoft.com/ja-jp/library/fe06s4ak%28v=vs.90%29.aspx
0507デフォルトの名無しさん
2012/09/09(日) 04:03:06.58フィルタの振り分けとか
Main
->main.cpp
->main.h
ProjectName
->ProjectName.cpp
->ProjectName.h
自作外部ファイル用
->FileName1.cpp
->FileName1.h
->etc
こんな感じ?
0508デフォルトの名無しさん
2012/09/09(日) 13:41:30.090509デフォルトの名無しさん
2012/09/10(月) 09:34:58.52>>505 >>506
こんな関数があったんですね。わざわざURLまで貼っていただいてありがとうございます。
0510デフォルトの名無しさん
2012/09/11(火) 21:03:25.31UDP通信の簡単なアプリケーションを作成中なのですが、
recvfrom()を実行するとデータを受信するまで終了できませんです。
0511デフォルトの名無しさん
2012/09/11(火) 21:09:48.750512デフォルトの名無しさん
2012/09/11(火) 22:12:18.61混合型はサポートされていませんと出ます。
どうすればいいですか?
0513デフォルトの名無しさん
2012/09/11(火) 22:47:17.96C#を使う->正解
0514デフォルトの名無しさん
2012/09/13(木) 17:53:59.24ソフトがクラッシュすると、デッバッグが起動するんですけど
これを解除するにはどうすればいい?
0515デフォルトの名無しさん
2012/09/13(木) 21:35:37.48標準デバッガの設定だな。
XP以前だったらDrワトソンを標準デバッガに設定し直せば良い。
drwtsn32.exe -i
だったかな。いま7だから試せんわ。
もしOSがVISTA以降だったら、そもそもDrワトソンが無いので、レジストリの
HKEY_LOCALMACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug
を弄れは良い。
見て想像は付くと思うが、解らんかったらググれ。
0516デフォルトの名無しさん
2012/09/13(木) 21:40:19.12VC++6.0を使用してtry catchで例外処理をしているのですが、VC++6.0ではVBのようにexceptionのような色々なエラーをキャッチできて、
詳細なエラーメッセージを取得することができる手段はないのでしょうか?
0517デフォルトの名無しさん
2012/09/13(木) 21:52:41.370518デフォルトの名無しさん
2012/09/13(木) 21:59:51.790519デフォルトの名無しさん
2012/09/13(木) 22:36:46.06なにこれ??使いにくいぃぃぃいいいいい!!
皆さん使ってますか??
0520デフォルトの名無しさん
2012/09/13(木) 22:37:29.82error C4368: cannot define '_test_main' as a member of managed 'NAMAI::Form1': mixed types are not supported
error C2678: binary '=' : no operator found which takes a left-hand operand of type 'NAMAI::TEST_main' (or there is no acceptable conversion)
could be 'NAMAI::TEST_main &NAMAI::TEST_main::operator =(const NAMAI::TEST_main &)' while trying to match the argument list '(NAMAI::TEST_main, NAMAI::TEST_main *)'
別ファイルのTEST_mainをフォーム1で生成したいのですが、エラーの解決方法を教えていただけないでしょうか。
よろしくお願いします。
>>HOGE.h
namespace NAMAI
{
class TEST_main { public: void TEST(void); };
}
>>Form1.h
#pragma once
#include "HOGE.h"
namespace NAMAI {
public ref class Form1 : public System::Windows::Forms::Form
{
public:
TEST_main _test_main;
Form1(void){
InitializeComponent();
InitializeTEST();
}
void InitializeTEST() { _test_main = new TEST_main; }
};
}
0521デフォルトの名無しさん
2012/09/13(木) 23:07:34.350522デフォルトの名無しさん
2012/09/17(月) 17:23:05.36じゃあなんあのさぁああああああああああああ!!!!!
0523デフォルトの名無しさん
2012/09/17(月) 17:36:08.090524デフォルトの名無しさん
2012/09/23(日) 03:01:33.57malloc/freeでfree忘れを検知するだけでいい
それができたらそこにGetDC/ReleaseDCとかも判定できるようにしようと思ってんだけど
0525デフォルトの名無しさん
2012/09/24(月) 18:07:31.98彼女が出来ません、どうしたら良いですか
0526デフォルトの名無しさん
2012/09/24(月) 18:17:35.730527片山博文MZボット ◆0lBZNi.Q7evd
2012/09/24(月) 18:59:17.08プリプロセッサーでフック。
#define malloc mymalloc
...
atexit関数かstaticオブジェクトのデストラクタでチェック。
0528デフォルトの名無しさん
2012/09/24(月) 19:10:38.890529デフォルトの名無しさん
2012/09/24(月) 19:56:58.97{} の後ろに ; が要らないのはなぜですか?
たとえば
class Hoge {
int a;
public:
Hoge() : a(0) {};
~Hoge() {};
void Hage(void);
void Fuga(void) {a=1;};
};
みたいなとき
class Hoge {
int a;
public:
Hoge() : a(0) {}
~Hoge() {}
void Hage(void);
void Fuga(void) {a=1;}
};
で良いんですよね?
だとすると逆に
void Hage(void)
で怒られるのも謎
0530デフォルトの名無しさん
2012/09/24(月) 20:02:56.430531デフォルトの名無しさん
2012/09/24(月) 20:04:29.16関数書くときもいらないだろ
いつもわざわざ
void func() { };って書いてたのか?
0532デフォルトの名無しさん
2012/09/24(月) 20:06:53.190533デフォルトの名無しさん
2012/09/24(月) 20:08:11.700534デフォルトの名無しさん
2012/09/24(月) 20:08:28.470535デフォルトの名無しさん
2012/09/25(火) 21:35:14.700536デフォルトの名無しさん
2012/09/25(火) 22:24:58.02断食で煩悩を断ってください
0537デフォルトの名無しさん
2012/09/25(火) 23:31:20.62興味のあるライブラリをさわってみる
サンプルをうごかしてみる
ちょっと変更してうごかしてみる
0538デフォルトの名無しさん
2012/09/25(火) 23:44:32.53やっぱり普通に言語の勉強するよりも動かしたほうがいいんですね
0539デフォルトの名無しさん
2012/09/26(水) 08:21:09.71って書き方してるソースも見たことあるわ
0540デフォルトの名無しさん
2012/09/26(水) 13:29:08.57そのポインタの値がNULLかどうかチェックする必要はありますか?
具体的には、
try{
do something;
}
catch(char *hoge){
printf("received exception: %s", hoge);
}
としたい場合、
catch(char *hoge){
if(hoge){
printf("received exception: %s", hoge);
}
}
と書くべきかどうかです。
この場合は throw してる側で hoge が動的か静的かで違うと思いますが、
動的に hoge が生成されるような場合についてです。
0541デフォルトの名無しさん
2012/09/26(水) 13:31:52.59誤 received exception
正 caught exception
0542デフォルトの名無しさん
2012/09/26(水) 13:55:26.100543デフォルトの名無しさん
2012/09/26(水) 14:03:10.45既に別の例外が発生しているか
強制終了されている状況じゃないかな
0544デフォルトの名無しさん
2012/09/26(水) 14:45:04.26それよりお前
delete hoge;
し忘れてるぞ
0545デフォルトの名無しさん
2012/09/26(水) 21:26:41.46>>540
それって状況によるかも知れないから、どうしても心配ならこんな風に書いたりすることもある。
まあこれもどうでもいいかもしれんが。
printf("received exception: %s", hoge == NULL ? "NULL" : hoge );
0546デフォルトの名無しさん
2012/09/26(水) 23:34:50.18http://msdn.microsoft.com/ja-jp/library/9yb4317s.aspx
に書かれている通り行ったのですが、試しに sizeof(void*) を出力させたところ 4 となりました
これは通常だと8となるはずなのですがどうなのでしょう
0547デフォルトの名無しさん
2012/09/26(水) 23:58:08.73■ このスレッドは過去ログ倉庫に格納されています