當我嘗試使用第一種形式聲明iss時,g ++給我「錯誤:在'iss >> s'中不匹配'operator >>'。但是,這兩個不同的聲明不是做同樣的事情嗎?爲什麼不編譯?
#include <iostream>
#include <sstream>
#include <string>
int main() {
const char *buf = "hello world";
std::string ss(buf);
//std::istringstream iss(std::string(buf)); // this doesn't work
std::istringstream iss(ss); // but this does
std::string s;
iss >> s;
}
不,他在std命名空間中的前綴都是前綴。 – 2009-12-06 03:31:27
好的,我很抱歉!如果我錯了,你不需要在島上投票,我犯了一個錯誤,每個人都這樣做。給一個人休息一下! – Jaba 2009-12-15 13:48:55
這不是一個個人的仇恨 - 它只是一個指標,表明你的回答是錯誤的,這是投票的一部分。 – 2009-12-15 20:51:26