【初心者歓迎】C/C++室 Ver.35【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0448デフォルトの名無しさん
2007/03/12(月) 17:02:59なので&v[i-1]は途中から不正なポインタを指す。
なので本当は&v[i-1]が不変なのを期待しちゃダメ。
↓こうやって最初に100確保しておけば再割り当てが起こらないだろうから大丈夫。
int main()
{
int i;
std::vector<Test> v(100);
Test b;
b.p = NULL;
v[0] = b;
for (i=1;i<100;i++) {
b.x = i;
b.p = &v[i-1];
v[i] = b;
}
Test *c;
c = &v[v.size()-1];
int count = 0;
while ( c->p != NULL ) {
printf("%d: %d\n",count++,c->x);
c = c->p;
}
}
■ このスレッドは過去ログ倉庫に格納されています