Вы определяете макрос для идентификатора, который является частью стандартной библиотеки:
#define FILE
(см. https://en.cppreference.com/w/cpp/io/c#Types, что такое FILE
).
Это запрещено и может привести к очень странным ошибкам.
Вместо этого используйте имена, которые настолько уникальны, насколько это возможно, включая охранников, например, INCLUDE_GUARD_FILE_H
.
Если у вас есть включенный охранник, есть такженет необходимости в #pragma once
, который является нестандартным способом решения проблемы двойного включения, которую также должно предотвращать включение защиты.
Кроме того, вы не объявили Client
в File.h
.Возможно, отсутствует #include
для заголовочного файла, определяющего Client
.