Я использую компилятор Clang C ++ 17 и получаю предупреждение:
declaration of 'struct Xchart' will not be visible outside of this function.
Это предупреждение указывает на объявление функции, которое использует структуру, которая объявлена в другом заголовочном файле. Я полагаю, что это вызвано циклическими зависимостями в двух заголовочных файлах, но я не смог разрешить предупреждение
Header toolkit.h объявляет функцию MyFunction, которая использует структуру Xchart в качестве входных данных. Это где предупреждающие точки.
toolkit.h
#ifndef _TOOLKIT_H
#define _TOOLKIT_H 1
#define _WINDOWS 1
#include <windows.h>
short WINAPI MyFunction(struct Xchart *mychart ); <--Warning Here
#pragma pack(push, 1)
#pragma pack(pop)
#endif /*_TOOLTKIT_H */
Заголовок mystruct.h объявляет структуру Xchart
mystruct. h
#ifndef _mystructs_h
#define _mystructs_h 1
#include "toolkit.h"
#pragma pack(push, 1)
struct Xchart {
int MyDays;
short LoadMe;
wchar_t MyLabel[100];
};
#pragma pack(pop)
#endif /* _mystructs_h */
Можете ли вы показать, как изменить эти два заголовочных файла, чтобы предупреждение было разрешено?