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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# visual studio 2019 についての質問です 1 2022/09/21 09:58
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- 化学 化学のエンタルピ変化を求め方について ある例題では各物質のモール数を換算して計算することもあり、ある 1 2022/06/20 23:22
- 情報処理技術者・Microsoft認定資格 (パイプライン処理)基本情報技術者の演習問題について 1 2023/03/11 17:47
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# C言語:数値の桁数指定についての質問です。 8 2022/05/26 23:53
- C言語・C++・C# C# 標準出力のencodingをutf8にする 1 2023/02/15 12:38
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- その他(プログラミング・Web制作) pythonのmap、結果の利用は1度だけ? 5 2022/06/11 12:33
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
_T(abcdef") の_Tってなんですか?"
C言語・C++・C#
-
charからLPTSTRへの変換方法
C言語・C++・C#
-
VC++6.0からVC++.NET2005へ移植
C言語・C++・C#
-
-
4
INT64対応のprintf系関数はありますか?
C言語・C++・C#
-
5
unsigned long long 型のフォーマット指定子
C言語・C++・C#
-
6
CStringをwchar_tに変換したい
C言語・C++・C#
-
7
CString型 全角半角を意識せずに「1文字」ずつ取り出す
C言語・C++・C#
-
8
string型のフォーマット書式指定の文字列
C言語・C++・C#
-
9
CString から LPCTSTRの型に変換
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで =EMBED("Acrobat Docu...
-
ワイルドカード<?>と型パラメー...
-
COMコンポーネントって何?
-
時間帯判定をする。
-
ビジュアルC++でボタンの有...
-
LISTBOXの内容が更新されま...
-
JqueryとPrototypeの比較
-
Vbで通常使用するプリンターを...
-
bmp画像をjpegやpng画像に圧縮...
-
JAVAからHTMLへ値を返す方法
-
パワーポイントのVBAでテキスト...
-
多人数のじゃんけんプログラム
-
ワードで画像をドロップすると...
-
Excel VBA : イコールになら...
-
newは明示的にした方が良いのか?
-
Google Apps Scriptの時刻の計算
-
オブジェクトに値を保持させる...
-
SQLException
-
シーケンス図のライフラインと...
-
開始日(Date型)から終了日(Date...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワーポイントのVBAでテキスト...
-
Excelで =EMBED("Acrobat Docu...
-
ワイルドカード<?>と型パラメー...
-
EXCEL VBAにて動的にCheckBOXを...
-
VBAのWindowオブジェクトとWork...
-
C#でフォームのオブジェクト名...
-
LISTBOXの内容が更新されま...
-
Object型からDouble型へのキャスト
-
JAVAからHTMLへ値を返す方法
-
COMコンポーネントって何?
-
ビジュアルC++でボタンの有...
-
戻り値がクラスオブジェクト
-
VBA 同じ名前のオブジェクトを...
-
ASP.net 教えてください!!(...
-
Vbで通常使用するプリンターを...
-
newは明示的にした方が良いのか?
-
CoCreateInstanceでエラーになる。
-
オブジェクトレベルとメタレベル
-
bmp画像をjpegやpng画像に圧縮...
-
Accessの連結・非連結オブジェ...
おすすめ情報