C++ I';我在从另一个类调用main函数时遇到问题
我有一个主类,在其中我试图调用一个函数来创建菜单,但我一直遇到以下错误: 错误LNK2019:未解析的外部符号“public:static int\uu cdecl Controller::menu(void)”(?)?menu@Controller@@SAHXZ)在函数_main中引用 这是我的主课C++ I';我在从另一个类调用main函数时遇到问题,c++,class,main,C++,Class,Main,我有一个主类,在其中我试图调用一个函数来创建菜单,但我一直遇到以下错误: 错误LNK2019:未解析的外部符号“public:static int\uu cdecl Controller::menu(void)”(?)?menu@Controller@@SAHXZ)在函数_main中引用 这是我的主课 #include "Main.h" using namespace std; int main () { Control:: menu(); return 0; } 这是主要的 #prag
#include "Main.h"
using namespace std;
int main ()
{
Control:: menu();
return 0;
}
这是主要的
#pragma once
#include "Control.h"
class Main:
{
public:
Main(void);
~Main(void);
int main();
};
对照组。h:
#pragma once
#include <iostream>
class Control
{
public:
Control(void);
~Control(void);
static int menu ();
};
我想这很简单,但我就是想不出来。我尝试移除静态函数以及将函数更改为void函数,但两者都不起作用
static int menu ()
{
bunch of menu code
return 0;
}
应该是
int Control::menu ()
{
bunch of menu code
return 0;
}
这是定义成员的正确方法
应该是
int Control::menu ()
{
bunch of menu code
return 0;
}
这是定义成员的正确方法。静态函数及其原型应该是这样
int Control :: menu()
{
//bunch of menu code
return 0 ;
}
在另一个文件中实现该类时,还必须将类名与作用域解析运算符一起使用
类
Main
的末尾还有一个额外的冒号,导致语法错误。静态函数及其原型应该是这样的
int Control :: menu()
{
//bunch of menu code
return 0 ;
}
在另一个文件中实现该类时,还必须将类名与作用域解析运算符一起使用
您在类
Main
的末尾还有一个额外的冒号,导致语法错误。您是否注意到class Main:
之后有额外的冒号Main@billz我也想到了这一点。它会导致解析错误吗?您是否注意到class Main:
之后有额外的冒号Main@billz我也想到了这一点。它会导致解析错误吗?非常感谢!工作正常。我还必须在原型中添加static。@ceeplusplus添加到定义中,你的意思是什么?非常感谢!工作正常。我还必须在原型中添加static。@ceeplusplus到定义中,你是说?