-4
我編寫了以下代碼作爲學校作業的一部分。它根據排序對學生的ID,它是100和999之間。但由於某些原因,我得到以下錯誤上的getId功能VS12調試時的私人int對象的指針數組:task2.exe中0x001066F6處未處理的異常:0xC0000005:訪問衝突讀取位置0x0000000C
Unhandled exception at 0x001066F6 in task2.exe:
0xC0000005: Access violation reading location 0x0000000C.
這在使用的getId代碼:
if (nr_of_students > 1) {
int pre = nr_of_students - 1;
int current = nr_of_students;
Student* temp;
// This pause will run:
system("pause");
while (pre > 0 && students[pre]->getId() > students[current]->getId()) {
// This pause will NOT run:
system("pause");
temp = students[current];
students[current] = students[pre];
students[pre] = temp;
pre--;
current--;
}
}
爲學生類的代碼:
class Student : public Person {
private:
int id;
/* Other variables */
public:
/* Constructors and functions */
int getId() {
return id;
}
};
這到底是怎麼回事?
_''Hhat hell going?'_很可能你是解除引用無效('NULL')指針。 –
也許內置的調試器可能有一些幫助?就像也許告訴你哪一行產生錯誤? –
我只在使用調試器時出現錯誤,否則它只會崩潰。調試器說錯誤在它從getId函數返回id的行上。 – jyggorath