草庐IT

ThreadSafeFile

全部标签

即使类没有定义构造函数,也不能在类上调用 C++ 默认移动赋值运算符

当我熟悉C++14规范时,我读到,如果一个类没有显式声明的复制构造函数、复制赋值运算符、移动构造函数或移动赋值运算符,编译器应该生成默认实现.为线程安全文件考虑这个空类:classThreadSafeFile{std::mutexm_mutex;std::stringm_FileName;std::ofstreamm_File;};当我尝试像这样移动分配它时:ThreadSafeFilefile;ThreadSafeFilefile2=std::move(file);我遇到这个编译错误:function"ThreadSafeFile::ThreadSafeFile(constThrea