【发布时间】:2012-11-19 21:13:36
【问题描述】:
我有一个主类,我试图在其中调用一个函数来创建菜单,但我不断收到此错误:
错误 LNK2019:函数 _main 中引用了无法解析的外部符号“public: static int __cdecl Controller::menu(void)”(?menu@Controller@@SAHXZ)
这是我的主要课程。
#include "Main.h"
using namespace std;
int main ()
{
Control:: menu();
return 0;
}
这是 Main.h
#pragma once
#include "Control.h"
class Main:
{
public:
Main(void);
~Main(void);
int main();
};
Control.h:
#pragma once
#include <iostream>
class Control
{
public:
Control(void);
~Control(void);
static int menu ();
};
最后是控制 cpp 文件:
#include "Control.h"
using namespace std;
static int menu ()
{
bunch of menu code
return 0;
}
我认为这很简单,但我就是想不通。我尝试删除 static 以及将函数更改为 void 函数,但都没有成功。
【问题讨论】:
-
您是否注意到
class Main:在 Main 之后有多余的冒号 -
@billz 我也想到了这一点。会不会导致解析错误?