
VC++の勉強中です。例外処理に対してあまり詳しくないですが。
問題が発生しました。VS2005 の環境です。分かったかたは
ご指摘お願いします。
今書いているソースには、 error C2712: オブジェクト アンワインディングが必要な関数内で __try を使用できません。というメッセージが出ていますが、今いろいろ調べています。Win32のAPIを使っているところ__try
__leaveなどのSEHの機構の例外処理のやり方です。
これをプロパティ-C/C++-コード生成/C++の例外を無効にすると、問題が
なく動くですが。
具体的に、どういう解決すればいいですが、C++の例外を無効にするわけに
いけないし。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
あまり正確なところは分かりませんが。
__try ブロックと同じ関数内でデストラクタが呼ばれる場合に
そのエラーメッセージが出るようです。
「ブロック内」ではなく「関数内」なので、
以下のようにまとめて別関数とするだけで回避することができるようです。
void foo(){
Biz biz;// 必要なオブジェクトを別関数に
// 例外が起き得る処理
}
int main(){
// デストラクタを回避するため
// この関数内にオブジェクトがあってはならない
__try {
foo();
}
__except(EXCEPTION_EXECUTE_HANDLER){
// ここから復帰を試みる場合の処理
}
return 0;
}
Windows API との関連は分かりませんでした。
以下のサイトも参考になさって下さい。
参考URL:http://msdn.microsoft.com/ja-jp/library/xwtb73ad …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで =EMBED("Acrobat Docu...
-
VBAのWindowオブジェクトとWork...
-
Accessの連結・非連結オブジェ...
-
パワーポイントのVBAでテキスト...
-
ADO オブジェクトの渡し方
-
CFileDialogでフォルダだけを選...
-
戻り値がクラスオブジェクト
-
java.util.Listのヒープサイズ...
-
newは明示的にした方が良いのか?
-
オブジェクト指向とモジュール設計
-
多人数のじゃんけんプログラム
-
ビジュアルC++でボタンの有...
-
XAMLの動的生成について
-
Object型からDouble型へのキャスト
-
EXCEL VBAにて動的にCheckBOXを...
-
javaでは基本型の参照渡しは無...
-
withを入れ子にして使う方法
-
bmp画像をjpegやpng画像に圧縮...
-
ResultSet での問題
-
時間帯判定をする。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで =EMBED("Acrobat Docu...
-
VBA 同じ名前のオブジェクトを...
-
EXCEL VBAにて動的にCheckBOXを...
-
パワーポイントのVBAでテキスト...
-
C#でフォームのオブジェクト名...
-
VBAのWindowオブジェクトとWork...
-
Object型からDouble型へのキャスト
-
時間帯判定をする。
-
C++で*thisは何を指しているの...
-
ワイルドカード<?>と型パラメー...
-
Accessの連結・非連結オブジェ...
-
COMコンポーネントって何?
-
newは明示的にした方が良いのか?
-
ビジュアルC++でボタンの有...
-
CoCreateInstanceでエラーになる。
-
ResultSet での問題
-
多人数のじゃんけんプログラム
-
printerオブジェクトでのテキス...
-
サーブレットのクラス図について。
-
VBSでのステートメントの末尾が...
おすすめ情報