C++ Visual Studio ошибка: main.obj: ошибка LNK2001: неразрешенный внешний символ "struct Menu_t * menu" (? Menu@@3PAUMenu_t@@A)
У меня проблема с компилятором Visual Studio C++, и я не смог решить ее с другими постами.
Я пытаюсь создать структуру меню и создать внешний указатель на эту структуру в том же файле (menu.h). Но компилятор возвращает мне эти ошибки:
d3d9.obj: ошибка LNK2001: неразрешенный внешний символ "struct Menu_t * menu" (?menu@@3PAUMenu_t@@A)
main.obj: ошибка LNK2001: неразрешенный внешний символ "struct Menu_t * menu" (?menu@@3PAUMenu_t@@A)
Вот файл:
#ifndef HMENU_H
#define HMENU_H
struct MenuItem_t
{
int itemType;
int itemState;
LPSTR itemTitle;
MenuItem_t() {}
MenuItem_t(char *title, int type, int state)
{
//strcpy(itemTitle, title);
itemTitle = title;
itemType = type;
itemState = state;
}
};
struct Menu_t
{
bool isShown;
int itemNumber;
int selectedItem;
MenuItem_t *menuItem;
Menu_t() {}
Menu_t(bool menuShown, const int numOfItems, char itemTitles[][32], int itemTypes[], int itemStates[])
{
isShown = menuShown;
itemNumber = numOfItems;
menuItem = new MenuItem_t[itemNumber];
for (int i = 0; i < itemNumber; i++)
{
menuItem[i] = MenuItem_t(itemTitles[i], itemTypes[i], itemStates[i]);
}
}
};
//Menu_t *menu;
extern Menu_t *menu;
#endif
РЕДАКТИРОВАТЬ: Хорошо, поэтому моя ошибка была в том, что я не поместил объявление "Menu_t * меню" в коде. Спасибо drescherjm за помощь