메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

뇌를 자극하는 C++ 프로그래밍

뇌를 자극하는 C++ 프로그래밍 질의응답 게시판입니다.

성적표 프로그램 종료 시 "Debug Assertion Failed"오류

2010-09-29

|

by viiiin

3996

안녕하세요. 책 잘 보고 있습니다. ^^

성적표 프로젝트를 열심히 따라했는데 문제가 하나 생겨서 질문드립니다.

프로그램을 실행한 후, 곧바로 q를 입력해서 종료했을 때는 문제가 없는데,

학생 성적을 추가하고 종료하게 되면 종료가 되긴 하지만 오류가 발생합니다.

-------------------------------------------<오류 내용>------
[Microsoft Visual C++ Debug Library]
Debug Assertion Failed!

Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
-------------------------------------------------------------
(* 참고로 Visual Studio 2008을 사용하였습니다.)


혹시 "students.cpp" 파일 내용 중 학생을 추가하는 함수에서 객체를 동적으로 할당해주는 곳에서 문제가 있지 않나요?
-------------------------------------------------------------
bool Students::AddStudent(bool genereal)
{
          Student* std = NULL;

          try
          {
                    if (genereal)
                              std = new Student(NumberOfStudent + 1);
                    else
                              std = new EngStudent(NumberOfStudent + 1);
                    ...
          }
          catch (...)
          {
                    delete std;
                    std = NULL;

                    throw;
          }
          return true;
}
-------------------------------------------------------------

해결이 잘 안되네요. ㅜㅜ
댓글 입력
자료실