c++ - setprecision 和字符串命名空间
问题描述
我怎么会
using std::string;
我收到一个错误,但在包含字符串后,它不会引发错误。与 相同std::setprecision
。
#include <string>
using std::string; //Throws error when string library not included
#include <iomanip>
using std::setprecsion; //Throw error when iomanip library not included
int main()
{
//stuff
}
当我省略#include
预处理器时,为什么它会抛出错误说string
or setprecision
is not part of std namespace
,但是当我添加库时它们却没有?包含库后,它们是否以某种方式被添加到 std 命名空间?
它会像JavaScript中的括号符号吗?
var obj = {
one: 1
};
obj['two'] = 2;
解决方案
这仅仅是因为您尝试使用的函数是在它们的库文件中定义的。在 C 和 C++ 中,您必须编写#include以将库包含在您的程序中并使用其功能。
推荐阅读
- ruby-on-rails - Heroku`检测rake任务`不起作用
- go - 如何阻止 fmt.print() 打印到输出?
- hyperledger-fabric - 基于属性的访问控制与策略之间的 Hyperledger 结构差异
- css - React Router NavLink 和 activeClassName 的问题
- python - 如何使用命令行参数一起输入 fasta 文件和文本文件
- python - 如何继续从与您使用数字的班级不同的班级生成随机数字
- docker - 尝试 ssh docker 容器时出错:系统正在启动
- python-3.x - TypeError:不支持的操作数类型 -:
- sqlite - SQLITE 不能在 Exeoutput4PHP 中使用 Codeigniter
- python - `pandas` 中的分配速度和`inplace`