Я работаю над проектом Dice и не смог понять, почему функции drawDice и rollDice бросают мне ошибки LNK 2019 при попытке построить мой проект. Я стараюсь избегать публикации большого количества кода, но сохраняю контекст неповрежденным, написав здесь подобную настройку. Я смоделировал функцию startGen аналогичным образом, который у меня есть для функций в моем проекте.
Учитывая следующий код:
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;
}
}
является недействительным. Вы должны указывать типы параметров так же, как это сделано в объявлении функции.
void startGen( bool runState[], int genQuantity )
{
for ( int iGenID = 0; iGenID < genQuantity; iGenID++ )
{
runState[iGenID] = true;
}
}