Several build errors, stumped

I was required to make most of the functions be under main, and it's giving me countless build issues. I kept trying to search the error codes, but had no luck finding a permanent solution, as it kept giving me different errors. Thank you.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
  #include <iostream>
#include <iomanip>
#include <string>
#include <sstream>
#include <fstream>

using namespace std;

const int ROWS = 3;
const int COLS = 3;

//Function Prototypes
void RenderBoard(char[][COLS], int);
void CheckRow(char[][COLS], int);
void CheckCol(char[][COLS], int);
void CheckDiag(char[][COLS], int);
void AnnounceWin();
void IsGameOver(bool);
void PlayMove(int);

//Main Function
int main()
{
	char board[3][3] =
	{
		{ '.','.','.' },
		{ '.','.','.' },
		{ '.','.','.' }
	};
	RenderBoard(board,ROWS);
	for (;;)
	{
		PlayMove(1);
		RenderBoard(board,ROWS);
		if (IsGameOver == 1);
		PlayMove(2);
		RenderBoard(board,ROWS);
		if (IsGameOver == 2);
		return false;
	}
	void RenderBoard(char board[][COLS], int size);
	{
		cout << "+-------+" << endl;
		for (int row = 0; row < ROWS; row++)
		{
			cout << "|";
			for (int col = 0; col < COLS; col++)
			{
				cout << " " << board[row][col];
			}
			cout << " |" << endl;
		}
		cout << "+-------+" << endl;
		return 0;
	}

	//Getting the moves from the players
	void PlayMove(int playerNum, char[][COLS], int);
	{
		int row = -1, col = -1;
		string line;
		stringstream ss;
		for (;;)
		{
			cout << "Player #" << playerNum << ", please enter your move (row col)(space inbetween): ";
			cin >> row >> col;
			while (row < 1 || row > 3 || col < 1 || col > 3)
			{
				cout << "Invalid move, please try again!" << endl;
				cout << "Player #" << playerNum << ", please enter your move (row col)(space inbetween): ";
				cin >> row >> col;
			}
			board[row - 1][col - 1] = ((playerNum == 1) ? 'X' : 'O');
			continue;
		}


	

		return 0;
	}



		//Checking Rows
	int CheckRow(int row, int RenderBoard, char[][COLS], int)
		{
			if (board[row][0] == board[row][1] && board[row][1] == board[row][2])
			{
				return (board[row][0] == 'X') ? 1 : ((board[row][0] == 'O') ? 2 : 0);
			}
			return int;
		}
		//Checking Columns
		int CheckCol(int col, int RenderBoard, char[][COLS], int)
		{
			if (board[0][col] == board[1][col] && board[1][col] == board[2][col])
			{
				return (board[0][col] == 'X') ? 1 : ((board[0][col] == 'O') ? 2 : 0);
			}
			return int;
		}
		//Checking Diagnals
		int CheckDiag(int RenderBoard, char[][COLS], int)
		{
			if (
				(board[0][0] == board[1][1] && board[1][1] == board[2][2])
				||
				(board[2][0] == board[1][1] && board[1][1] == board[0][2])
				)
			{
				return (board[1][1] == 'X') ? 1 : ((board[1][1] == 'O') ? 2 : 0);
			}
			return int;
		}
		//Declares the winner, and then outputs it.
		void AnnounceWin(int player, int RenderBoard)
		{
			cout << "Player #" << player << " wins!" << endl;
			return int;
		}


		//Checks to see if the game is over
		bool IsGameOver(char board[][COLS], int size)
		{
			int winner;
			for (int row = 0; row < ROWS; row++)
			{
				winner = CheckRow(board, row);
				if (winner != 0)
				{
					AnnounceWin(winner);
					return true;
				}
			}
			for (int col = 0; col < COLS; col++)
			{
				winner = CheckCol(board, col);
				if (winner != 0)
				{
					AnnounceWin(winner);
					return true;
				}
			}
			winner = CheckDiag(board, row);
			if (winner != 0)
			{
				AnnounceWin(winner);
				return true;
			}
			if (totalMoves <= 9)
			{
				cout << "It's a tie..." << endl;
				return true;
			}
			return true;
		}
		
	//Attempting to provide definitions, suggested fixes.
		int RenderBoard(board, ROWS)
		{
		}

		void RenderBoard(char[][COLS], int)
		{
		}

		void CheckRow(char[][COLS], int)
		{
		}

		void CheckCol(char[][COLS], int)
		{
		}

		void CheckDiag(char[][COLS], int)
		{
		}

		void AnnounceWin()
		{
		}

		void IsGameOver(bool)
		{
		}

		void IsGameOver()
		{
		}

		void PlayMove(int)
		{
		}
Start with the first error. Each compiler error message should list a line-number.

Online compiler finds first error in this:
1
2
3
4
5
6
void IsGameOver(bool);

int main () {
  if ( isGameOver == 1 ) // error, cannot compare (name of) function to integer value
  {}
}


A function definition* cannot be inside another function.
1
2
3
4
5
6
7
8
9
int foo(int); // declaration

int main() {
  int foo(int x) // error, definition inside function
  {
    return x+42;
  }
  return 0;
}


Make sure that they are outside.
1
2
3
4
5
6
7
8
9
10
11
int foo(int); // function declaration

int main() {
  int y = foo( 7 ); // function call
  return 0;
}

int foo(int x) // definition
{
  return x+42;
}



* Although C++11 does have lambdas that can.
In addition to what keskiverto mentioned, I see the following problems:

Lines 14-17: Your forward declarations don't match your implementations.

line 35,38: These lines do nothing. The ; terminates the if statement. There is no conditional execution. isGameOVer() is a void function. You can't use a void function in an if statement.

Line 38: Comparison of a bool function to 2 is not valid.

line 30,41,58: The ; terminates the function header making this a function declaration, not the start of a function definition. Remove the ;

Line 35,38: IsGameOver() requires a bool argument.

Line 54,80: void functions can not return a value.

Line 18,125: The signatures of your forward declaration and your implementation do not agree.

Line 58,95.104: Second argument is not named. You want board here.

lines 92,101,114,120: You can't return the keyword int You need to return a value.

Line 42,161,165: You have multiple implementations of RenderBoard().
Topic archived. No new replies allowed.