CJobFile의 생성자는 인자를 필요로 하는데 호출 시 인자가 없이 호출해서 발생하는 에러 같습니다.
아래는 수정된 코드이니 참고하시기 바랍니다.
// 헤더 파일 class CJobFile { public: CJobFile(Com* com); // 생성자가 Com*을 받음 virtual ~CJobFile(); int GetFileNo(); private: Com* com_; // Com 객체를 저장할 포인터 }; // cpp 파일 CJobFile::CJobFile(Com* com) : com_(new CState(com)) { // Com*을 생성자에서 받음 } CJobFile::~CJobFile() { assert(com_ == nullptr); // assert 내용 수정 } int CJobFile::GetFileNo() { return fileno; // fileno는 CJobFile 클래스의 멤버 변수로 가정 } std::string TableName() { Com* com = new Com(); // Com 객체를 생성 CJobFile cjf(com); // 생성자에 Com* 전달 int flevel = cjf.GetFileNo(); // GetFileNo 호출 delete com; // 동적 할당한 Com 객체 해제 return MakeName(path, number); }
CJobFile의 생성자는 인자를 필요로 하는데 호출 시 인자가 없이 호출해서 발생하는 에러 같습니다.
아래는 수정된 코드이니 참고하시기 바랍니다.
// 헤더 파일 class CJobFile { public: CJobFile(Com* com); // 생성자가 Com*을 받음 virtual ~CJobFile(); int GetFileNo(); private: Com* com_; // Com 객체를 저장할 포인터 }; // cpp 파일 CJobFile::CJobFile(Com* com) : com_(new CState(com)) { // Com*을 생성자에서 받음 } CJobFile::~CJobFile() { assert(com_ == nullptr); // assert 내용 수정 } int CJobFile::GetFileNo() { return fileno; // fileno는 CJobFile 클래스의 멤버 변수로 가정 } std::string TableName() { Com* com = new Com(); // Com 객체를 생성 CJobFile cjf(com); // 생성자에 Com* 전달 int flevel = cjf.GetFileNo(); // GetFileNo 호출 delete com; // 동적 할당한 Com 객체 해제 return MakeName(path, number); }