【发布时间】:2011-08-22 12:27:59
【问题描述】:
为什么最后一行不起作用?
ostringstream stream;
int f = 12345;
stream << f;
string st = stream.str();
cout << typeid(st.rbegin()).name() << endl;
cout << typeid(stream.str().rbegin()).name() << endl;
cout << string(st.rbegin(), st.rend()) << std::endl;
cout << string(stream.str().rbegin(), stream.str().rend()) << endl;
ir 说:“字符串迭代器不兼容”,但类型相同。
【问题讨论】:
-
添加适当的头文件时,这里编译和运行良好,所以也许你应该至少告诉我们完整/真实的错误消息以及你使用什么编译器来尝试它。
-
@PlasmaHH 我不认为这是语法错误,只是一个好的编译器发现了代码中的缺陷,请参阅我的答案。