c++ - 写入子类中的文件(在此处首先需要 X 的隐式复制构造函数)
问题描述
我正在尝试在派生类中创建一个文件,但我收到以下错误消息。
我的代码:
#include <string>
#include <fstream>
class Animal
{
public:
Animal();
~Animal();
protected:
std::string name;
};
class Cat : public Animal
{
public:
Cat(std::string const &filename);
private:
std::ofstream _file;
};
Cat::Cat(std::string const &filename) : _file(filename.c_str(), std::ios::out)
{
this->_file.open(filename);
}
int main()
{
Cat c1 = Cat("cat.txt");
}
我收到以下错误,
In file included from animal.cpp:3:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/fstream:169:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/ostream:139:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/streambuf:486:64: error: base class 'std::__1::ios_base' has
private copy constructor
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ios<char>)
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iosfwd:133:32: note: in implicit copy constructor for
'std::__1::basic_ios<char>' first required here
class _LIBCPP_TEMPLATE_VIS basic_ofstream;
^
animal.cpp:15:7: note: in implicit copy constructor for 'std::__1::basic_ofstream<char, std::__1::char_traits<char> >' first required here
class Cat : public Animal
^
animal.cpp:34:14: note: in implicit copy constructor for 'Cat' first required here
Cat c1 = Cat("cat.txt");
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/ios:313:5: note: declared private here
ios_base(const ios_base&); // = delete;
^
1 error generated.
解决方案
推荐阅读
- ios - 为什么 Xcode 12.2 (12B45b) 在 iOS 14.1 中显示“iPhone 不可用”?
- .htaccess - Codeigniter V4 不加载公共资源
- java - 与 java 类中的模型属性混淆
- javascript - 如何检查 EJS 变量是否存在?
- php - glob 图像和按名称排序在 10 号以上不起作用
- jenkins - Jenkins Pipeline:查找函数定义
- ruby-on-rails - 在开发 Rails env 上运行迁移不会显示任何错误并且不起作用
- flutter - Flutter:如何检查流是否为空或没有事件?
- accessibility - WCAG 是否处理空/冗余元素?
- python - 如何完全删除以前的 PYTHONPATH?