可能重复:如何解决“LINK:致命错误LNK1561:必须定义入口点”?
我有这样的A类和B类,在链接时出现错误:错误LNK1561:必须定义入口点 . 我究竟做错了什么?
#include <string>
#include <cstdlib>
class A
{
public:
A(){}
~A(){}
string getName()
{ return name; }
void setName(string name)
{this->name = name;}
void write()
{
cout << "Value:" << getName() << endl;
}
protected:
string name;
};
#include <string>
#include "A.h"
class B : public A
{
public:
B()
{
setName("B");
}
~B(){}
};
#include "A.h"
#include "B.h"
#include <cstdlib>
int main()
{
B abc = B();
abc.write();
system("PAUSE");
return 0;
}
我收到以下错误:
错误C2039:'name':不是'A'的成员
错误C2061:语法错误:标识符'string'
错误C2065:'cout':未声明的标识符
错误C2065:'endl':未声明的标识符
错误C2065:'name':未声明的标识符
错误C2146:语法错误:在标识符'getName'之前缺少';'
错误C2146:语法错误:在标识符'name'之前缺少';'
错误C2660:'A::setName':函数不带1个参数
错误C4430:缺少类型说明符 - 假定为int . 注意:C不支持default-int
5 回答
如果这就是全部,则没有定义
int main()
,因此它们不能从中调用代码并且无法启动 .您需要声明应用程序的入口点,通常是:
好吧,你没有't show us the command, but if you'重新链接来制作一个可执行文件(而不是一个dll),你必须定义一个函数
main
;这是运行时启动可执行文件时调用的内容 .你没有写过
main()
函数 .您似乎没有
main
方法,这是程序的入口点 .