要問儘可能簡單地任何人都可以解釋爲什麼這代碼:1 [主] 972異常:手柄:異常:STATUS_ACCESS_VIOLATION的解釋,以及如何解決
LinkedListByGrade::LinkedListByGrade(vector<Node> myNodes) {
int lowestGradeFound = myNodes[0].getGrade();
Node *pFristNode = new Node();
cout << "New node created" << endl;
for (size_t i = 0; i <= myNodes.size(); i++) {
if (myNodes[i].getGrade() < lowestGradeFound) {
cout << "if triggered" << endl;
lowestGradeFound = myNodes[i].getGrade();
pFristNode->reassasignNode(myNodes[i].getFristName(),
myNodes[i].getLastName(), myNodes[i].getId(),
myNodes[i].getGrade());
cout << "int reassassigned" << endl;
}
是給我這個錯誤:
1 [main] Project 972 exception::handle: Exception: STATUS_ACCESS_VIOLATION
2130 [main] Project 972 open_stackdumpfile: Dumping stack trace to Project.exe.stackdump
和想法就如何解決呢?
(對不起,我留在診斷打印語句)
而且這是影響myNodes唯一代碼:
vector<Node> Students;
Node node1("Bobby", "zilch",28,55);
Node node2("Evil", "Dentist",308,55);
Node node3("Raz", "Buton",10,55);
Students.push_back(node1);
Students.push_back(node2);
Students.push_back(node3);
cout<<"stuff"<<endl;
LinkedListByGrade myList = LinkedListByGrade(Students);
是'myNodes.size()== 0'時'INT lowestGradeFound = myNodes [0] .getGrade();'被調用?你將不得不在調試器中運行它。 StackOverflow無法爲你做到這一點! – Johnsyweb 2013-02-23 02:41:36
您需要學習使用調試器。這段代碼執行時,我們無法知道'myNodes'包含了什麼;你是唯一可以確定這個問題的人,並且通過代碼來找出問題。 – 2013-02-23 02:43:44
好吧,但根據你說的這應該是關係到矢量的事情? – Noob 2013-02-23 02:49:17