[英]Print a list in c++
我有以下結構:
struct People{
string name;
string surname;
string number;
};
如何打印列表中的所有人? 我在 main 中創建了幾個人並嘗試打印它們,但出現錯誤。
int main(int argn, char** args) {
list<People> test_list;
People first;
first.name= "Name1";
first.surname= "Surname1";
first.number= "E1234567";
test_list.push_back(first);
People second;
second.name= "Name2";
second.surname= "Surname2";
second.number= "E2345678";
test_list.push_back(second);
People third;
third.name= "Name3";
third.surname= "Surname3";
third.number= "E3456789";
test_list.push_back(third);
list<People>::iterator i;
for( i = test_list.begin(); i != test_list.end(); ++i)
cout << *i << " ";
cout << endl;
return 0;
}
有人知道打印列表的正確方法嗎?
您應該定義std::ostream& operator<<(std::ostream&,const People&)
,它應該簡單地打印 People 實例中的數據。
試試這個來打印詳細信息:
cout << i->name << " "<< i->surname << " "<< i->number << " ";
我假設,您正在嘗試打印結構變量。在 for 循環內,您指定了指向列表中每個元素的指針。 但是您還沒有指定結構內的元素。 所以,為此,
count<<(*i).name<<endl; // for printing name
或者,您也可以像這樣使用->
count<<i->name; // for printing name.
這應該可以解決您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.