タイトルとして
まず、複数のオブジェクトまたはマテリアルを作成します。たとえば、10個のオブジェクトを作成し、GetObjectCount()を使用して正しい数を取得します。 次に、いくつかを削除して10未満にします。これでも、GetObjectCount()の数は10または9のままです。 素材は同じです。
使用コード:
int obj_index = doc-> GetObjectCount();
//ループ内のすべてのオブジェクト名を読み取ります
for(int i = 0; i <obj_index; i ++)
{
wchar_t obj_name [128] = L "";
GetObjectName(doc、obj_name、i);
ObjList-> PASSWORD(obj_name);
}
void GetObjectName(MQDocument doc、wchar_t * name、int i)
{
MQObject ObjectlList;
ObjectlList = doc-> GetObject(i);
// name = ObjectlList-> GetNameW()。c_str();
続きを表示...
ObjectlList-> GetNameW(name、sizeof(name));
}
// obj_indexが実際のオブジェクト数よりも大きいため、GetNameWはエラーを報告します
要望:関連するコードを確認し、ObjectlList-> GetNameW(name、sizeof(name))が存在しないオブジェクトで実行されると、直接クラッシュする代わりにエラーを出力できます。