0
我在第一個getline(iss,name,',')之前使用了std :: ignore(1,',')並且收到錯誤'ignore'在這個命名空間中未聲明' STD」。std :: ignore編譯器錯誤的解釋
if (myfile.is_open()){
98 while (getline (myfile,line)) {
99 //parse line
100 string myText(line);
101 istringstream iss(myText);
102 if(!(iss>>id)) id=0;
103
104 std::ignore(iss,1,',');
105 std::getline(iss,name,',');
106 std::getline(iss,status,',');
107 std::getline(iss,email,',');
108 cout<<name<<endl;
109 Student newStudent(id,name,status,email);
爲什麼它的getline函數工作,但忽略不?
您是否試過閱讀[documentation](http://en.cppreference.com/w/cpp/utility/tuple/ignore)?這根本不是'std :: ignore'。 – chris
我知道我在一起不正確。我只是想看看我是否理解錯了。首先,我嘗試了std :: ignore(1,',')並得到了相同的錯誤。但下面的答案正是我所需要的。該文檔沒有詳細解釋它的完全幫助。 – user3341518
FWIW,[在那裏搜索](http://en.cppreference.com/mwiki/index.php?title=Special%3ASearch&search=ignore&button=)通常很不錯。在你的情況下,'std :: istringstream'是最相關的,但它們都非常相似。 – chris