2013-02-10 3 views
0

나는 내가 복용하고있는 클래스의 코드를 작성하고 있습니다. 나는 프로젝트에 대한 내 점수를 제로없이 내 모든 코드를 게시하지만 여기 내 드라이버의 단축 코드 수 없습니다main() 함수가 인식되지 않습니다.

#pragma once 
    #include <iostream> 
    #include <fstream> 
    #include <string> 
    #include "Stack.h" 

    using namespace std; 

    namespace jack 
    { 
     int high(char a) 
     { 
      // My Code 
     }; 

     bool isSameOrHigher(char top, char cur) 
     { 
      // My Code 
     }; 

     int main() 
     { 
      // My Code 
     }; 
    }; 

나는 다음 내가 얻을이 코드를 컴파일 할 때 내가 알아낼 수없는 이유 오류 :

LINK : 치명적인 오류 LNK1561 : 당신은 내가 실제로 할 볼 수있는 주요 기능을 가지고 있지 않은 경우에만이 오류가 발생해야 알다시피 엔트리 포인트까지,

이제 정의해야합니다 있다. 나는이 파일에서 다른 프로젝트로 코드 복사를 시도했다. 나는 주 기능을 다른 cpp 파일로 분리하려고 시도했다. (더 많은 오류가 발생하고 엔트리 포인트 오류가 수정되지 않았다.) 나는 다시 시도했다. - Visual C++ Express를 설치하고 처음부터 완전히 시작하기. 선생님과 나는 main() (그리고 내가 썼고 포함시킨 Stack.h 파일의 모든 코드) 이전에이 파일의 모든 코드를 검사했는데 누락 된 괄호, 세미콜론 또는 다른 구두점은 없다. 나는 그 밖에 무엇을 시도해야할지 모른다. 생각?

+3

선생님이 네임 스페이스에서 내 메인을 보지 못하셨습니까? – ChiefTwoPencils

+0

그것은 당신이 필요로하는 메인이 아니야 .. it 's :: main! :: main을 생성하면 설정됩니다. – thang

답변

7

어떤 네임 스페이스 외부로 main을 이동해야합니다. 표준 대답이 정확히 무엇에 대한 관심 사람을 위해

(§3.6.1/1) :

A program shall contain a global function called main , which is the designated start of the program.

편집 : 또한 무엇을 "글로벌"수단의 마지막 단어를 원하는 사람들을 위해 (§ 3.3.5/3의 C++ 03 §3.3.6/C++ (3) (11)에 거의 동일한 문언)와 :

The outermost declarative region of a translation unit is also a namespace, called the global namespace. A name declared in the global namespace has global namespace scope (also called global scope). [...] Names with global namespace scope are said to be global.

+1

+1 참조 –

+0

괜찮지 만 * 전역 함수 *가 : namespace의 함수를 의미하는 부분에 대한 참조를 추가 할 수 있습니까? 나는 그것이 어딘가에있을 것이라고 확신한다. (그렇지 않으면 애매 모호하다.) 그리고 당신이 그것을 가지고 있기 때문에 ... 그것이 그렇듯이, 하나의 해석은 단지 클래스 멤버 함수가 될 필요가 없다는 것이다. – thang

+0

@ thang : 물론입니다. –

3
네임 스페이스 외부 main 함수를 이동

.

3

main 함수를 네임 스페이스에서 제거하십시오. 기술적으로 귀하의 main은 실제로는 jack::main이며 네임 스페이스 안에 있습니다.

5

당신이 아닌 다른 namespace의 내부 만 global namespacemain()을 정의해야합니다

+2

LOL 우리 모두는 동시에 댓글을 달았습니다. –

2

네임 스페이스에서 당신의 main을 가져 가라.

관련 문제