루프를 사용하여 같은 형식의 다른 개체를 만든 다음 연결된 목록의 각 특정 개체에 대한 포인터를 저장하려고합니다. 문제는 객체가 생성 될 때마다 포인터가 동일한 메모리 주소를 반환한다는 것인데, 그리스트에서 각 객체를 구별 할 수 없다.C++ 루프주기의 개체 참조
그 해결책은 무엇입니까? 감사합니다
나는 다음과 기능이 있습니다
Data dt(10,10,2010);
int p=0;
ifstream fx;
fx.open("utilizadores.txt",ifstream::in);
if(!fx)
{cout << "FX. nao existe!" <<endl;}
string linha;
string nLugar;
int iD=1;
while(!fx.eof())
{
getline(fx,linha,'\n');
Utilizador* user;
if(linha.find(',')==-1 && linha.size()>1)
{
cout<<"Entrou no vector"<<endl;
string nlugar(linha.substr(0, linha.size()));
nLugar=nlugar;
}
else
{
int inic=0;
int pos=linha.find(',',inic);
string nick(linha.substr(inic,pos-inic));
pos++;
inic=pos;
pos=linha.find(',',inic);
string email(linha.substr(inic,pos-inic));
user=new Utilizador(dt,iD,nick,email);
cout<<&user<<endl;
cout<<user->clone()<<endl;
}
fx.close();
}
링크 된 목록은 클래스 문에서 선언을
그리고 어떻게 사용자의 가치를 추가 할 수 있습니까? 예를 들어 줄 수 있습니까? – user1019880
죄송합니다. 답변을 이해하지 못했습니다. 영어가 제 모국어가 아닙니다. 값으로 전달할 수 없으며 포인터 또는 메모리 참조를 던져야합니다. – user1019880
추가하지 않는 것 같습니다. 목록에 무엇이든, 아무 데나, 그래서 나는 정확하게 말할 수 없다; 하지만 "사용자"를 추가하면 실제로 잘 작동합니다. "& 사용자"를 추가하지 마십시오. –