Undeclared Identifier(newGame) - 指向函数作为参数的指针

时间:2014-12-28 03:16:13

标签: c++ function-pointers

我不确定我的编译器想要什么。它给我以下错误

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
};

1 个答案:

答案 0 :(得分:1)

编译器错误似乎相当简单。无论“newGame”是什么,编译器都不知道它。这是第一次看到这个名字。

显然,您在文件后面定义了newGame()函数这一事实并没有帮助。在编译器尝试编译第一个函数时,它还没有读取它。

以下是Google的一些食物:“前瞻声明”。放:

void newGame();

在createMenu()之前,以便编译器知道它是什么。