これは、try-catch ブロックでのベクトルの宣言を示すコードのスニペットです。
try {
vector<opClass> op;
}
catch (bad_alloc xa) {
cout << "\nAllocation failure!\n";
return 1;
};
//...
//...
op.push_back(<input some stuff>) //error c2065: op undeclared identifier
不思議なことに、ベクトル宣言を try-catch ブロックの外に置くと、エラーはなくなります。これは、STL でのベクトルの定義方法と関係がありますか? ベクトルは動的配列であるため、この宣言を try-catch ブロックに入れるのは良い習慣だと思いましたか?