首页 文章

C字符串覆盖链接错误[重复]

提问于
浏览
0

可能重复:如何解决“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 回答

  • 2

    如果这就是全部,则没有定义 int main() ,因此它们不能从中调用代码并且无法启动 .

  • 2

    您需要声明应用程序的入口点,通常是:

    int main()
    {
     // code to declare an A and B object
    }
    
  • 0

    好吧,你没有't show us the command, but if you'重新链接来制作一个可执行文件(而不是一个dll),你必须定义一个函数 main ;这是运行时启动可执行文件时调用的内容 .

  • 0

    你没有写过 main() 函数 .

  • 2

    您似乎没有 main 方法,这是程序的入口点 .

相关问题