Function is not being called

Aug 13, 2019 at 8:29pm
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 Aug 13, 2019 at 8:31pm
Aug 13, 2019 at 8:39pm
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 Aug 13, 2019 at 8:39pm
Aug 13, 2019 at 8:40pm
You don't need the return type when you CALL a function.

Remove the word "void" on line 32.
Aug 13, 2019 at 8:40pm
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 Aug 13, 2019 at 8:41pm
Aug 14, 2019 at 11:54am
Thanks for the answers.
Now its working.
Last edited on Aug 14, 2019 at 11:54am
Topic archived. No new replies allowed.