Function is not being called

The code did compile but the application only give me Test 1 and not Test 1&2.
Thanks in advance.
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
#include <iostream>
#include <string>
#include <cstring>


using namespace std;

char idzubuch(int i);
void print();
int field[8][8];






int main()
{

	int field[8][8] = {
	{4,2,3,5,6,3,2,4},
	{1,1,1,1,1,1,1,1},
	{0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0},
	{11,11,11,11,11,11,11,11},
	{14,12,13,15,16,13,12,14}
	};

	cout << "Test1"<< endl;
	void print();
	

	string turn;
	cout << "Enter turn:" << endl;
	cin >> turn;
	cout << "Your turn is: " << turn << endl;
	
	return 0;
}

void print() {
	cout << "Test2" << endl;
	return;
	
}

char idzubuch(int i) {
	char ids[17] = {'0','P','H','B','R','Q','K','0','0','0','0','p','h','b','r','q','k'};
	return ids[i];
}


Last edited on
Line 32 is
 
void print();
This means "A function called print exists. It takes no arguments and returns nothing".
Instead, line 32 should be
 
print();
Which means "call the function print with no arguments".
Last edited on
You don't need the return type when you CALL a function.

Remove the word "void" on line 32.
Also, field is globally declared, and the also declared locally within main. Although it happens to be harmless in the code presented, it is duplicative and in future extension of this code could end up being confusing (might not clearly understand which of the two is being used).
Last edited on
Thanks for the answers.
Now its working.
Last edited on
Topic archived. No new replies allowed.