的向量()函數:我想初始化的for_each指針的向量的for_each指針的指針
#include <stdlib.h>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
class Cow{
public:
Cow(){ _age = rand()% 20; }
int get_age() { return _age;}
private:
int _age;
};
void add_new(Cow* cowp)
{
cowp = new Cow;
}
int main()
{
srand(time(NULL));
const int herd_size=10;
vector<Cow*> herd(herd_size);
for_each(herd.begin(), herd.end(),add_new);
cout << "Age: " << herd[0]->get_age() << endl; // line 27
}
不過,我在27行牛羣得到一個運行「分段錯誤」錯誤矢量似乎是未初始化的。爲什麼?
請''設置nonu'並在註釋中標註所需的行,以便我們可以複製粘貼代碼並進行編譯而不會混淆。 –
@jdero「add_new」是向量的每個元素上的回調函數。 – Mahesh
請不要包含行號,這會讓人很難複製和粘貼。只需在評論中標註必要的行。 – BoBTFish