The following struct is defined in the Linux system header file /usr/include/sys/inotify.h: Please note the last field name, which is a zero-length array. C++17 does not support zero-length array, so, if using struct inotify_event in a C++17 project and compiling it with -pedantic, a compiler warning should be raised. However, the following code doesn’t raise any warning for struct inotify_event.