我几乎是Boost的新手,更具体地说是Boost Asio的新手 - 我有点被扔进了深渊。 我正在阅读 Boost 文档,我想知道我是否在示例中遇到了错别字。在此页面上的"示例"下,有以下内容:
std::string data;
std::string n = boost::asio::read_until(s,
boost::asio::dynamic_buffer(data), 'n');
std::string line = data.substr(0, n);
data.erase(0, n);
我无法编译它,我认为这是因为n
应该声明为 std::size_t,而不是 std::string——我这样做是正确的,还是我误解了?
是的,这是文档中的错字。
示例应如下所示:
std::string data;
std::size_t n = boost::asio::read_until(s,
boost::asio::dynamic_buffer(data), 'n');
std::string line = data.substr(0, n);
data.erase(0, n);
感谢Xirema和S.M的确认。