왜 insert 함수가 실행되지 않는지 모르겠어요
조회수 4223회
오류내용: 137줄에서 실행은 되는데 insert 함수에서 문제가 생긴것 같아요.. 디버깅을 돌려봤는데 예외가 throw됨: 읽기 액세스 위반입니다. _My_data이(가) nullptr였습니다. 라고 나오는데 뭐가 문제인걸까요..
class student {
public:
string name;
int id;
string grade;};
class table {
public:
int tsize, size;
int idx = 0;
table(int n);
student *stp;
void insert(string name,int id,string grade);
};
table::table(int size) {
tsize = size;
} //int size를 받는 클래스 생성자
void table::insert(string name,int id,string grade) { // 문제 발생
if (idx < tsize) {
stp[idx].name = name;
stp[idx].id = id;
stp[idx].grade = grade;
idx++;
}
else
cout << "table full";
}
int main() {
int size;
string name;
int id;
string grade;
cout << "학생 수를 입력 >>" << endl;
cin >> size;
table t(size);
for (int i = 0; i < size; i++) {
cout << "학생 정보 입력(이름 학번 성적 순)" << endl;
cin >>name;
cin >>id;
cin >>grade;
t.insert(name,id,grade); //insert 함수 문제 발생
}
}
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
댓글 입력