Błąd "variable or field 'printTab' declared void"

0

Cześć mam problem na etapie kompilacji, z którym się bije i szukam rozwiązania i nie mogę znaleźć,
screenshot-20230312144058.png

//main.cpp
#include <stdlib.h>
#include <time.h>
#include "tabUtils.h"

int main(){
	srand (time(NULL));
	int tab[20];
	for(int i=0; i<sizeof(tab)/sizeof(tab[0]); i++){
		tab[i]=rand() % 100;
	}
	
	void printTab(tab, sizeof(tab)/sizeof(tab[0]));
	void reverseTab(tab, sizeof(tab)/sizeof(tab[0]));
	void printTab(tab, sizeof(tab)/sizeof(tab[0]));
	return 0;
}   

//deklaracje funkcji z tabUtils.h

void printTab(const int * const tab, unsigned int size);
void reverseTab(int * const tab, unsigned int size);


Same funkcje nie są problemem, więc nie zaśmiecam niepotrzebnie.

Podaje jako argument nazwę tablicy, czyli wskaźnik na pierwszy element, więc nie rozumiem czemu ten wskaźnik nie jest zrozumiały dla kompilatora.

Z góry dzięki za wszystkie odpowiedzi i pozdrawiam (;

3

Wygląda na to, że zamiast wywoływać te funkcje wewnątrz funkcji main, to je tam deklarujesz, a kompilator odczytuje to jako deklarację zmiennej.

2
//main.cpp
#include <stdlib.h>
#include <time.h>
#include "tabUtils.h"

int main()
{
	srand(time(NULL));
	int tab[20];
	for(int i=0;i<sizeof(tab)/sizeof(*tab);++i) tab[i]=rand()%100;
	printTab(tab,sizeof(tab)/sizeof(*tab));
	reverseTab(tab,sizeof(tab)/sizeof(*tab));
	printTab(tab,sizeof(tab)/sizeof(*tab));
	return 0;
}   

http://forum.4programmers.net/1101404

0
_13th_Dragon napisał(a):
//main.cpp
#include <stdlib.h>
#include <time.h>
#include "tabUtils.h"

int main()
{
	srand(time(NULL));
	int tab[20];
	for(int i=0;i<sizeof(tab)/sizeof(*tab);++i) tab[i]=rand()%100;
	printTab(tab,sizeof(tab)/sizeof(*tab));
	reverseTab(tab,sizeof(tab)/sizeof(*tab));
	printTab(tab,sizeof(tab)/sizeof(*tab));
	return 0;
}   

http://forum.4programmers.net/1101404

Wielkie dzięki, jakiś ślepy dzisiaj jestem, ten void nie wiem czemu mi tam utknął );

1 użytkowników online, w tym zalogowanych: 0, gości: 1