2011-04-21 7 views
0

Possible Duplicate:
How to resolve “LINK : fatal error LNK1561: entry point must be defined”?C++ 문자열 재정의 연결 오류

이 같은 클래스 A와 B가 있고 연결에 오류가 : 오류 LNK1561 : 진입 점을 정의해야합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

오류 C2039 :

#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; 
} 

나는 다음과 같은 오류를 얻을 '이름': 구문 오류 : 식별자 '문자열'
오류 C2065 : 'A'
오류 C2061의 구성원이 아닌 'COUT을 ': 선언되지 않은 식별자
오류 C2065 :'endl ': 선언되지 않은 식별자
오류 C2065 :'이름 ': 선언되지 않은 식별자
오류 C2146 : 구문 오류 : 누락 된'; ' 식별자 'getName'앞에
오류 C2146 : 구문 오류 : ';'이 없습니다. 식별자 'name'앞에
오류 C2660 : 'A :: setName': 함수가 1 개의 인수를 사용하지 않습니다.
오류 C4430 : 누락 된 형식 지정자가 있다고 가정합니다. 참고 : C++는 default-int를 지원하지 않습니다.

+0

스택 오버플로에 오신 것을 환영합니다! 새로운 질문을하기 전에 검색을 사용하십시오. 많은 질문이 이미 제기되어 답변을 받았으며 즉시 해결책을 찾을 수 있습니다. –

+1

당신도 이것을 놓치고 있습니다 :'using namespace std;' – yasouser

답변

2

이것이 모두있는 경우 int main()이 정의되어 있지 않으므로 코드를 호출 할 곳이없고 시작할 곳이 없습니다.

+0

main 함수로 첫 번째 게시물을 편집 하겠지만 여전히 많은 오류가 있습니다. – Anajrob

0

당신은 main() 함수를 작성하지 않았습니다.

0

main 메서드는 프로그램에 대한 진입 점이 아닙니다.

2

당신은 일반적으로 응용 프로그램의 진입 점을 선언해야합니다

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

글쎄, 당신은 우리에게 명령을 보여 주지만, 당신이 실행 파일을 만들기 위해 연결하는 경우 (보다는하지 않습니다 dll) 함수를 정의해야합니다. main; 런타임은 실행 파일을 시작할 때 런타임을 호출합니다.