c++ - 错误 : invalid conversion from 'int' to 'std::_Ios_Openmode' |

标签 c++ sockets

我正在尝试使用 this C++ 类作为我自己的应用程序的客户端/服务器通信的基础。但它抛出一个我不明白的错误,它在 myLog.cpp 中。

错误:从“int”到“std::_Ios_Openmode”的无效转换|

这是在这里:

void myLog::openLog(const string& fileName, int mode)
{
   if (logLevel < QUIET_MODE)
   {
      open(fileName.c_str(),mode); //Error line
      /* SNIP */

这里调用的是:

void myLog::init()
{
   openLog("syslog.log",LOG_WRITE);
}

并且 LOG_WRITE 在 header 中定义如下:

const int LOG_WRITE  = ios::out;

谁能告诉我为什么会这样?

代码快速链接:myLog.cpp -- myLog.h

最佳答案

ios::out 不是 int 而是 std::_Ios_Openmode

关于c++ - 错误 : invalid conversion from 'int' to 'std::_Ios_Openmode' |,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8445836/

相关文章:

sockets - 将 nginx 位置重定向/重写到不带前缀的 .sock 文件

c++ - libfreenect2 是否支持 Kinect v2

c++ - 什么时候NULL不能用nullptr代替?

Python,连接被拒绝 10061

linux - 通过 TCP 快速发送/接收数据会导致阻塞

php - 使用PHP通过套接字将数据传递到系统

c - 在客户端提供服务器地址,不连接到服务器

c++ - (int32_t) 255 << 24 是 gcc (C++11) 中的未定义行为吗?

C++ STL 集合或链表

c++ - 模板问题