模板类中使用了错误的构造函数
wrong constructor used in template class
我需要在我的模板类中使用boost::interprocess::mutex
在函数中,我在下面声明了变量
named_mutex mutex(open_only, m_name.c_str()
,permissions(0666));
我不知道为什么我不能编译,我得到一个错误下面。编译器如何可能不使用正确的构造函数(它试图匹配具有const引用的构造函数)以及如何强制使用正确的构造函数?
error: no matching function for call to
boost::interprocess::named_mutex::named_mutex(const
boost::interprocess::open_only_t&, const char*, boost::interprocess::permissions)’
/usr/local/include/boost/interprocess/sync/named_mutex.hpp:140: note:
candidates are:
boost::interprocess::named_mutex::named_mutex(boost::interprocess::open_only_t, const char*)
接受open_only_t
的构造函数不接受权限参数。这真的没有意义-你试图打开一个现有的互斥锁,而不是创建一个。
删除权限,它应该找到适当的过载
相关文章:
- "error: no matching function for call to"构造函数错误
- 为什么类中的ostringstream类型的成员会导致";调用隐含删除复制构造函数";错误
- 模板,函数使用错误的构造函数来复制我的对象
- C++ OpenCV 卡尔曼滤波器构造函数错误
- 不命名构造函数和析构函数上的类型错误
- 处理简单 cpp 类构造函数中的错误
- 类和构造函数中的函数根本不起作用,并且不返回任何错误
- 链接器错误:无法解析构造函数
- 当我尝试通过构造函数分配 char 数组时出现错误
- 没有参数的构造函数给我错误
- 使用复制构造函数的程序输出错误
- 默认构造函数上的分段错误
- 错误: 无效使用非静态数据成员"应用程序::应用程序构造函数"
- 为什么定义复制构造函数会给我错误:无法将类型 'obj&' 的非常量左值引用绑定到类型为"obj"的右值?
- 带有 QWidget 的分段错误构造函数.Qt/C++
- C++错误构造函数参数
- 错误:构造函数未命名类型
- 错误:构造函数在此上下文中受到保护
- 没有匹配的函数错误C++构造函数
- 错误:构造函数的多个定义