Error messages C3861 and C2084 in user-defined headers
Hi,
I have looked over my code and the message boards and am having problems resolving error messages in my user-defined header files "randcard.h" and "dealer.h".
Code for randcard.h:
Code:
# include <iostream>
using namespace std;
void randcard(int[4][13], int[4][13], int [52], int&, int&, int&, string&, string&);
void randcard(int deckdeck[4][13], int cardcard[4][13], int cardsplayed[52], int& cardd, int& suitrand, int& cardrand, string& suitname, string& cardname)
{
int slow = 0, shigh = 4;
int clow = 0, chigh = 13;
char cardgood = 'n';
char dupcard;
int ncard = 1;
for (int k = 0; k <= 3; k++)
{
for (int l = 0; l <= 12; l++)
{cardcard[k][l]= ncard;
//cout << "Cardcard[" << k << "][" << l << "]:" << cardcard[k][l] << endl;
ncard++;
}}
do
{
suitrand = slow + (double)rand()/(double) RAND_MAX*(shigh - slow);
cardrand = clow + (double)rand()/(double) RAND_MAX*(chigh - clow);
//cout << "suit: " << suitrand << " card: " << cardrand << " cardcard: " << cardcard[suitrand][cardrand]<< endl;
dupcard = 'n';
//cout << "suit: ";
//cin >> suitrand;
//cout << "card: ";
//cin >> cardrand;
for (int i = 0; i < 52; i++)
{
if (cardsplayed[i] == cardcard[suitrand][cardrand])
dupcard = 'y';
//if (dupcard == 'y') cout << "DUPLICATE CARD" << endl;
}
if (dupcard == 'n')
{cardsplayed[(cardd)] = cardcard[suitrand][cardrand];
//cout << "in cardcheck, cardd = " << cardd << endl;
//cout << "in cardcheck, cardsplayed " << cardsplayed[cardd] << endl;
cardd = cardd +1;
//cout << "Cardd: " << cardd << endl;
cardgood = 'y';
//cout << "in cardcheck, cardgood = " << cardgood << endl;
}
}while (cardgood == 'n');
//cout << "suitrand: " << suitrand << endl;
//cout << "cardrand: " << cardrand << endl;
//Naming suits.
switch(suitrand){
case 0:
suitname = "clubs";
break;
case 1:
suitname = "diamonds";
break;
case 2:
suitname = "hearts";
break;
case 3:
suitname = "spades";
break;}
//Naming Cards.
switch(cardrand){
case 0:
cardname = "two";
break;
case 1:
cardname = "three";
break;
case 2:
cardname = "four";
break;
case 3:
cardname = "five";
break;
case 4:
cardname = "six";
break;
case 5:
cardname = "seven";
break;
case 6:
cardname = "eight";
break;
case 7:
cardname = "nine";
break;
case 8:
cardname = "ten";
break;
case 9:
cardname = "jack";
break;
case 10:
cardname = "queen";
break;
case 11:
cardname = "king";
break;
case 12:
cardname = "ace";
break;}
}
For randcard.h, I get the error "c:\documents and settings\owner\my documents\randcard.h(7) : error C2084: function 'void randcard(int [][13],int [][13],int [],int &,int &,int &,std::string &,std::string &)' already has a body". This is followed by the message " c:\documents and settings\owner\my documents\randcard.h(4) : see previous definition of 'randcard'".
Code for "dealer.h":
Code:
# include <iostream>
# include "randcard.h"
using namespace std;
void dealer (int[4][13], int[4][13], int [52], int, int&, int, string, string, string, string);
void dealer(int deckdeck[4][13], int cardcard[4][13], int playedcards[52], int carddr, int& dealertot, int dace, string suitfirst, string cardfirst, string suittextt, string cardtextt)
{
int suitnum;
int cardnum;
string suittext, cardtext;
int deck[4][13];
int card[4][13];
int cardspl[52];
int cardd =0;
//Dealer's two cards are shown
cout << "The dealer's hand: " << cardfirst << " of " << suitfirst << endl;
cout << " " << cardtextt << " of " << suittextt << endl;
if (dealertot == 21)
cout << endl << "Dealer blackJack" << endl;
//Dealer's hand is played, hits on anything less than a 17 as per casino rules
while (dealertot < 17)
{
randcard(deck, card, cardspl, cardd, suitnum, cardnum, suittext, cardtext);
cout << " " << cardtext << " of " << suittext << endl;
dealertot = dealertot + deckdeck[suitnum][cardnum];
if (cardnum == 12)
dace = dace + 1;
if (dealertot > 21 && dace > 0)
{
dealertot = dealertot - 10;
dace = dace - 1;
}
}
cout << endl << "Dealer's total: " << dealertot << endl << endl;
}
For "dealer.h", I get the error message "c:\documents and settings\owner\my documents\dealer.h(31) : error C3861: 'randcard': identifier not found".
How can I resolve these errors?
Thanks,
J