struct t{
int a;
t(int i){
a = i;
}
};
void test(t**& ppT){
t *pT = (t*)malloc(sizeof(t));
pT->a = 100;//works
t *pT = new t(100);//doesn't work
ppT = &pT;
}
У меня есть-структура с именем т и функция под названием тест.Почему мой указатель меняет себя автоматически?
В основной(), у меня есть
t **ppT = NULL;
test(ppT);
cout << ppT << " " << *ppT << endl;
cout << ppT << " " << *ppT << endl;
Если я использую таНос в тесте, он работает. Однако, если я использую новый в тесте, он покажет мне
0049FCC8 0074C378
0049FCC8 CCCCCCCC
В чем проблема? Кроме того, я использую Visual Studio 2013 как мой компилятор.
Это выглядит опасно близко к [Три звезды программирования] (http://c2.com/cgi/wiki?ThreeStarProgrammer) – scohe001