2014-03-06 6 views
1
#include <stdio.h> 
#define MAX 9 

void main (int argc, char *argv[]) { 

    printBoard(); 

} 

void printBoard(void) { 
    int row,col; 
    row=col=0; 

    for(row;row<MAX;row++) //row navigation 
    for(col;col<MAX;col++){//column navigation 
     printf("r:%d,c:%d",row,col); 
    }/*End Column Nav*/ 

    printf("\n"); 
} 

나는 내가 잘못 여기서 뭐하는 거지 모르겠어요 - 오류가 내가 얻을 :충돌 유형

"경고 : 'printBoard' [기본적으로 활성화] 주에 대한 충돌 유형 : 이전의 'printBoard'의 암시 적 선언이 여기에 있습니다.

+1

printBoard()의 범위에서 프로토 타입이 없습니다. 또한 main()은 int를 반환합니다 (범위 내에 (보이지 않는) 프로토 타입이 있습니다) – wildplasser

+1

[Getting " 기능에 대한 충돌 유형 "C에서 왜?] (http://stackoverflow.com/questions/1549631/getting-conflicting-types-for-function-in-c-why) – WhozCraig

+0

답변이없는 질문은 다음과 같습니다. 'void main()'을 받아들입니까? 같은 이유로 끔찍한 잘못입니다. – wildplasser

답변

3

시도,

void printBoard(void); 

void main(...) 
+0

6 분 내에 답변으로 수락합니다. 도와 줘서 고마워. – user1695505

2

호출 한 후에 함수를 선언했습니다.

#include <stdio.h> 
#define MAX 9 

void printBoard(void) { 
    int row,col; 
    row=col=0; 

    for(row;row<MAX;row++) //row navigation 
    for(col;col<MAX;col++){//column navigation 
     printf("r:%d,c:%d",row,col); 
    }/*End Column Nav*/ 

    printf("\n"); 
} 
void main (int argc, char *argv[]) { 

    printBoard(); 

} 

꽤 잘 작동합니다.

편집 : 모든 기능을 호출하기 전에 먼저 선언해야합니다.
좋아요. void printBoard (void); main() 예를 들어, 위의 printBoard에 대한 function prototype를 추가

1

가 선언되기 전에이 메소드를 호출한다. 메인 위나

2) main 상기 선언 추가 void printBoard(void) 정의 이동)

1

의해 문제를 해결. 이 라인은 다음과 같습니다 : void printBoard(void);