当我包含用于将某些程序的整数类型转换为字符串类型的#include 头文件时,我的编译器(GCC for C++)抛出错误。 谁能帮我解决这个问题?
这是一个C++的小代码,我是第一次尝试。
#include<iostream>
#include <boost/lexical_cast.hpp>// for lexical_cast()
#include <string> // for string
using namespace std;
int main()
{
long long n,i,k;
cin>>n;
ostringstream str1;
str1<<n;
string s = str1.str();
cout<<s<<endl;
return 0;
}
没有这样的文件或目录。
最佳答案
Boost 不是标准库的一部分,因此您的编译器不提供它的实现。
如果您希望通过在源代码中包含其 header 来使用 Boost 功能,您必须实际安装 Boost,以便这些 header 在您的开发系统上可用。
在像 CentOS 这样的系统上,它来自像 boost-devel
(或类似的)这样的包。
但是,您没有在此处使用 Boost 功能,因此只需删除包含即可。
即使您想替换字符串流的用法,我们也有 std::to_string
现在。
关于为词法转换包含的 C++ 头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57726643/