C ++(Linux)のソケットの1つにソケットフィルターを追加しようとしています。ソケットフィルターでは、別の構造内にネストされているstructfork_proc_eventのオフセットを取得する必要があります。定義は次のようになります(cn_proc.h):
struct proc_event { ..。 ユニオン{ ..。 struct fork_proc_event { __kernel_pid_t parent_pid; ..。 } フォーク; ..。 } event_data; ..。 };
CIではこれを行います:
int off = offsetof(struct fork_proc_event, parent_pid);
ただし、私はC++で開発しています。私がこれをやろうとすると:
int off = offsetof(proc_event::fork_proc_event, parent_pid);
次のエラーが発生します。
エラー:予期されるタイプ指定子 エラー:予期される `、' エラー:「、」トークンの前に「)」が必要です
offsetof()行はどのように見えるべきですか?