Argument typu "int" jest niezgody z parametrem typu "int *"

0

Witam ma problem z błędem który podałem w temacie doczytałem, że ten błąd występuje kiedy próbuje umieścić typ zmiennej, który jest niezgody albo nie można go przekonwertować na typ, którego funkcja oczekuję. W jaki sposób mogę naprawić ten błąd dodam, że próbowałem zmieniać na inne typy jak double czy float.
Funkcja:

int iloczynSkalarny(int wektor1[2],int wektor2[2]) {
	int iloczyn = 0;
	cout << "Wprowadz dange pierwszego wektora";
	for (int i = 0; i < 2; i++) {
		cin >> wektor1[i];
	}
	cout << "Wprowadz dange drugiego wektora";
	for (int i = 0; i < 2; i++) {
		cin >> wektor2[i];
	}
	for (int i = 0; i < 2; i++) {
		iloczyn = iloczyn + (wektor1[i] * wektor2[i]);
	}
	return iloczyn;
}

Deklaracja zmiennych w mainie

int wektor1[2], wektor2[2];

Wywołanie

cout << "Wynik: " << iloczynSkalarny(wektor1[2], wektor2[2]);
2

Bardziej tak: iloczynSkalarny(wektor1, wektor2);

2

To z takich drobnych wskazówek

  • usuń wczytywanie danych z klawiatury w funkcji iloczynSkalarny - funkcja powinna dostać już wypełnione wektory i na nich tylko liczyć (jeśli potrzebujesz wczytywanie - zrób je sobie w main() albo w osobnej funkcji którą wywołasz z main przed liczeniem iloczynu skalarnego
  • jeśli przekazujesz do funkcji tablicę, to powinieneś w osobnej zmiennej przekazać jej rozmiar (no chyba że Twój iloczyn skalarny można będzie liczyć tylko dla wektorów 2d)
  • użyj std::vector zamiast tablicy ;)

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