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()行はどのように見えるべきですか?