2011-04-21 52 views
0

Possible Duplicate:
How to resolve 「LINK : fatal error LNK1561: entry point must be defined」?C++串倍率聯錯誤

我有類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: '名':是不是 'A'
錯誤C2061的成員:語法錯誤:標識符 '串'
錯誤C2065:COUT ':未聲明的標識符
錯誤C2065:ENDL':未聲明的標識符
錯誤C2065:名稱:未聲明的標識符
錯誤C2146:語法錯誤:缺少 ';'在標識符'getName'之前
錯誤C2146:語法錯誤:缺少';'標識符'name'前
錯誤C2660:'A :: setName':函數不帶1個參數
錯誤C4430:缺少類型說明符 - 假定爲int。注意:C++不支持default-int

+0

歡迎來到Stack Overflow!在提出新問題之前請使用搜索。很多問題已經被提出並得到解答,您可能會立即找到解決方案。 – 2011-04-21 17:56:47

+1

您也錯過了這個:'using namespace std;' – yasouser 2011-04-21 18:09:28

回答

2

如果全部存在,則沒有定義int main(),所以它們沒有地方可以調用代碼,也沒有地方可以啓動。

+0

我將用主函數編輯我的第一篇文章,但是我仍然收到很多錯誤。 – Anajrob 2011-04-21 18:02:49

0

您還沒有寫入main()函數。

0

您似乎沒有main方法,它是您程序的入口點。

2

你需要聲明你的應用程序,這是通常的切入點:

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

嘛,你不告訴我們的命令,但如果你鏈接到讓一個可執行文件(而不是一個DLL),你必須定義一個函數main;這是運行時啓動可執行文件時調用的內容。