벡터를 테스트 할 작은 프로그램을 작성했는데 왜 충돌이 발생하는지 이해하지 못합니다. 누군가 도움을 줄 수 있습니까?std :: vector crash?
#include <iostream>
#include <algorithm>
#include <vector>
void print(int* i)
{
std::cout << i << std::endl;
}
int main()
{
std::vector<int*>* intPtr;
intPtr->push_back(new int(1));
intPtr->push_back(new int(2));
intPtr->push_back(new int(3));
std::for_each(intPtr->begin(), intPtr->end(), print);
}
지금 메모리 누출을 무시하면 이는 간단한 예입니다.
는'intPtr'가 초기화되지 않은 포인터이다. –
(1)'std :: vector * intPtr;'std :: vector * intPtr = new std :: vector ();'(Read this) (http : // dl. dropbox.com/u/6101039/Modern%20C%2B%2B.pdf). –
WhozCraig
고침, 고마워! – Shippage