c++ - 在 C++ 中创建输入文件
问题描述
我不知道为什么
std::ifstream dbf = ("db.txt")
给出一个错误
但std::ifstream dbf ("db.txt")
没有
谢谢 我只是想明白这一点
解决方案
std::ifstream dbf ("db.txt")
是显式调用构造函数的语法。
"db.txt"
作为单个参数传递,以构造一个std::ifstream
.
std::ifstream dbf = ("db.txt")
是转换 "db.txt"
为std::ifstream
.
这不会编译,因为std::ifstream
它不是为支持字符串文字的隐式转换而设计的。
虽然可以将构造函数设计为也支持隐式转换,但此构造函数调用已标记为explicit
。
推荐阅读
- typescript - OneGraph 和 Graphql Codegen 输出带有数值的枚举
- firebase - 如何为自定义身份验证 firebase 创建 auth.uid
- tomcat - 调用 getRealPath 时的 Tomcat 8.5 ArrayIndexOutOfBoundsException
- python - Pillow & EPS 文件不好 - 用什么来完美打开 EPS 文件?
- python - DynamoDB 更新后更新它再次回到旧值
- javascript - 如何让 JS 媒体查询正常工作?
- angular - 将 pdf URL 转换为 Base64
- django - Django Allauth 在注册页面中要求输入密码 3 次
- testing - 我可以使用 Cypress 生成 TestNG 报告吗?
- node.js - get method with jwt authorization is returning empty object, do we need to decode the jwt token?