我正在尝试在 C++ (Linux) 中的一个套接字中添加一个套接字过滤器。在套接字过滤器中,我需要获取嵌套在另一个结构中的struct fork_proc_event的偏移量。定义如下所示(cn_proc.h):
结构 proc_event { ... 联合{ ... 结构 fork_proc_event { __kernel_pid_t parent_pid; ... } 叉子; ... } 事件数据; ... };
在 CI 中会这样做:
int off = offsetof(struct fork_proc_event, parent_pid);
但是我正在用 C++ 开发。如果我尝试这样做:
int off = offsetof(proc_event::fork_proc_event, parent_pid);
我收到以下错误:
错误:预期的类型说明符 错误:预期的“,” 错误:在 ',' 标记之前应为 `)'
offsetof() 线应该如何?