calling user-defined function gives symbol(s) not found error

I'm trying to print the output of a function listPerms() by passing its output (a 2D int array) to another function printPerms(). The thing is, I keep getting the following error:

Undefined symbols:
  "printPerms(int**)", referenced from:
      _main in ccsaoRuY.o
ld: symbol(s) not found
collect2: ld returned 1 exit status


Here are all (I hope) the relevant parts of the code:

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
#include<iostream>
using namespace std;

int **listPerms(int N);
[...]
void printPerms(int **perms);
void printPerm(int perm[]);

int main() {
	int N=3;
	printPerms(listPerms(N));
	return 0;
}

[...]

void printPerm(int perm[]) {
	for (int i=0; i<sizeof(perm)/sizeof(int); i++)
		cout << perm[i];
}

void printPerms(int **perms, int N) {
	for (int perm=0; perm<factorial(N)-1; perm++) {
		printPerm(perms[perm]);
		cout << ", ";
	}
	printPerm(perms[factorial(N)-1]);
}


Does anyone have any ideas as to why I keep getting that error and what I might be able to do to fix it?
void printPerms(int **perms); and void printPerms(int **perms, int N) { don't match
Dammit! Always the simple things. >_< Thanks!
Topic archived. No new replies allowed.