我不确定我的编译器在这里想要什么。它给了我以下错误
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's art
void *pf(); //Function to execute upon selection
public :
MenuItem(const char*, void pf()); //constructor
};
最佳答案
编译器错误似乎相当简单。无论“newGame”是什么,编译器都一无所知。这是它第一次看到这个名字。
您在文件后面定义了一个 newGame() 函数,这显然无济于事。在编译器尝试编译第一个函数时,它还没有读取它。
这是为您准备的一些 Google 美食:“前向声明”。放:
void newGame();
在createMenu()之前,让编译器知道它是什么。
关于c++ - 未声明的标识符 (newGame) - 指向函数作为参数的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27673413/