C ++ struct构造函数和函数冲突

时间:2016-05-07 11:43:33

标签: c++ macos freebsd

我正在使用C ++ 11在OS X上编写网络程序。当我尝试调用kevent 函数时,我发现它与kevent冲突的结构即可。我该怎么办?

我想调用kevent 函数来等待事件,而不是调用kevent struct 的构造函数。

更新

我从Constructor of class with conflicting name

中读到了答案

将括号添加到kevent后,它将成为类型转换表达式。

我想打电话给功能

这是我的代码

kevent(event_loop_fd_, change_list.data(), 1, event_list.data(), 1, NULL, &timeout_struct)

1 个答案:

答案 0 :(得分:0)

您似乎使用了错误的签名。在你上面的调用中你传递了7个参数,但kevent函数需要6个。有一个名为kevent64的函数,它有7个参数,最后一个是const struct timespec* - 也许这是你要调用的函数?