Я не уверен, что мой компилятор хочет здесь. Это дает мне следующую ошибку
error C2065: 'newGame' : undeclared identifier
Соответствующий код:
void createMenu() {
MenuItem newGameOption = MenuItem("../art/newGame.bmp", newGame);
}
//start a new game
void newGame() {
}
В MenuItem.h
class MenuItem {
bool selected = false;
std::string path; //Path to menu item art
void *pf(); //Function to execute upon selection
public :
MenuItem(const char*, void pf()); //constructor
};
Ошибка компилятора представляется довольно простой. Независимо от того, что такое "newGame", компилятор ничего не знает об этом. Это первый раз, когда он видел что-то из этого имени.
Тот факт, что у вас есть функция newGame(), определенная позже в файле, по-видимому, не помогает. В то время, когда компилятор пытается скомпилировать первую функцию, он не прочитал ее.
Вот некоторые продукты Google для вас: "передовые декларации". Положил:
void newGame();
Перед createMenu(), чтобы компилятор знал, что это такое.
newGame()
вышеcreateMenu()
.