2013-11-24 2 views
0

나는 Dice Project에서 작업 중이며 drawDice 및 rollDice 함수를 사용하여 프로젝트를 빌드 할 때 LNK 2019 오류가 발생하는 이유를 알 수 없었습니다. 전체 코드를 게시하지 않으려 고하지만 비슷한 설정을 아래에 작성하여 컨텍스트를 그대로 유지하십시오. 필자는 프로젝트에서 함수와 비슷한 방식으로 startGen 함수를 모델링했습니다.함수 선언 문제 C++의 소스 파일

주어진 다음의 코드 :

fGenProto.hpp

#ifndef GEN_PROTO_HPP 
#define GEN_PROTO_HPP 

// Some Code 
const int GENERATORS = 3; 

void startGen(bool[], int); 

#endif 

genFunct.cpp

#include "fGenProtos.hpp" 

void startGen(runState[], genQuantity) 
{ 
    for (int iGenID = 0; iGenID < genQuantity; iGenID++) 
    { 
     runState[iGenID] = true; 
    } 

} 

MAIN.CPP

#include "fGenProtos.hpp" 

using std::cout; 
using std::endl; 

int main() 
{ 
    bool genState[GENERATORS] = { false, false, false }; 

    for (int iGenID = 0; iGenID < GENERATORS; iGenID++) 
    { 
     cout << "Generator #" << iGenID << " Status: "; 

     if (genState[iGenID]) 
      cout << "Online"; 

     else 
      cout << "Stopped"; 
    } 

    cout << "Starting Generators..." << endl; 
    startGen(genState, GENERATORS); 

    for (int iGenID = 0; iGenID < GENERATORS; iGenID++) 
    { 
     cout << "Generator #" << iGenID << " Status: "; 

     if (genState[iGenID]) 
      cout << "Online"; 

     else 
      cout << "Stopped"; 
    } 
} 

문제점은 무엇입니까? 위의 코드가 완벽하면이 질문을 수정하거나 전체 코드에 대한 링크로 새로운 질문을 시작할 수도 있습니다. 나는

void startGen(runState[], genQuantity) 
{ 
    for (int iGenID = 0; iGenID < genQuantity; iGenID++) 
    { 
     runState[iGenID] = true; 
    } 

} 

이 유효

답변

2

이 코드 ...이의 마지막 하루 정도 난처한 상황에 빠진했습니다. 함수 선언에서와 같은 방식으로 매개 변수의 유형을 지정해야합니다.

void startGen(bool runState[], int genQuantity) 
{ 
    for (int iGenID = 0; iGenID < genQuantity; iGenID++) 
    { 
     runState[iGenID] = true; 
    } 

} 
+0

내 소스에서 보았지만 두 매개 변수가 같았지만 위의 예에서는이 작업을 수행하지 않았습니다. –