使用boost :: lexical_cast将UUID转换为字符串时出现编译错误

man*_*ans 5 c++ uuid boost lexical-cast boost-uuid

我有这个代码基于SO中的几个帖子:

boost::uuids::uuid uuid = boost::uuids::random_generator()();
auto uuidString= boost::lexical_cast<std::string>(uuid);
Run Code Online (Sandbox Code Playgroud)

但是当我编译这段代码时,我收到了这个错误:

Source type is neither std::ostream`able nor std::wostream`able     C:\Local\boost\boost\lexical_cast\detail\converter_lexical.hpp  
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个错误?

seh*_*ehe 8

我想你错过了包含:

Live On Coliru

#include <boost/lexical_cast.hpp>
#include <boost/uuid/uuid_io.hpp>
#include <boost/uuid/uuid.hpp>
#include <boost/uuid/random_generator.hpp>

int main() {
    boost::uuids::uuid uuid = boost::uuids::random_generator()();
    auto uuidString = boost::lexical_cast<std::string>(uuid);
}
Run Code Online (Sandbox Code Playgroud)