2014-12-10 3 views
-3

기능 프로토 타입너무 적은 인수는`무효 GenerateSecretNumber (INT, INT) '

void GenerateSecretNumber(int rang, int x); 

기능 선언 정의

void GenerateSecretNumber(int rang, int x){ 

    int secret = 0; 
    cout<<"Computer is calculating a random secret number in the given range ..."; 
    srand(time(NULL)); 
    secret = rand()%(rang+1); 
    cout<<"Done!"<<endl<<endl; 
} 
+2

잘, 우리는 당신이 그 함수를 어떻게 호출하는지 볼 필요가있다. –

+1

그리고 두 인자로 함수를 호출한다? 자세히 보면 오류 메시지에 파일 이름과 오류 위치의 행 번호가 포함되므로 쉽게 찾을 수 있습니다. –

+0

사실,'x'는 사용되지 않으므로 선언과 정의에서 제거해야합니다. – Jarod42

답변

0

괜찮이 정의를 작동합니다. 문제는 GenerateSecretNumber() 기능을 호출 할 때입니다.

호출하는 동안 정확한 인수 수를 전달해야합니다.

int p = 5; 
int q = 10; 

GenerateSecretNumber(p, q); 

같은 그러나, 나는 통과하고 두 번째 매개 변수 x을 수용 할 논리적 인 이유를 볼 수 없습니다. :-) 당신은 당신의 기능 안에서 결코 사용하지 않았습니다. 함수 서명을 void GenerateSecretNumber(int rang)으로 다시 정의하는 것이 좋습니다.

나는 현재 GenerateSecretNumber(p);과 같은 것을 사용하고 있을지도 모른다고 의심하고 있습니다.

+0

FWIW,'GenerateSecretNumber (5, 10);'를 직접 수행 할 수도 있습니다. 중요한 것은 두 개의 정수 매개 변수를 전달한다는 것입니다. –

+1

@RudyVelthu 절대적으로 선생님, 저의 anser에서 언급했습니다. 그러나 그 이유는 DV입니까? –

+0

나는 downvote하지 않았다 (그것이 DV로 무엇을 의미하는지). 그래서 나는 모른다. 나는 단지 "질문자"에 대한 당신의 대답을 명확히하고 싶었다. –

관련 문제