• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd składniowy przy przekazywaniu tablicy obiektów jako parametru funkcji

Object Storage Arubacloud
–2 głosów
177 wizyt
pytanie zadane 16 stycznia 2018 w C i C++ przez Maciek Furmańczyk Nowicjusz (160 p.)
edycja 17 stycznia 2018 przez Maciek Furmańczyk

Cześć,
jestem w trakcie pisania sieci neuronowej i przy przekazywaniu dynamicznej tablicy do funkcji kompilator wypluwa błąd składniowy.

 

void ProcessNetwork(std::vector <unsigned int>, Neuron**, double**, std::vector <double>);

 

https://docs.microsoft.com/pl-pl/cpp/error-messages/compiler-errors-1/compiler-error-c2061?f1url=https%3A%2F%2Fmsdn.microsoft.com%2Fquery%2Fdev15.query%3FappId%3DDev15IDEF1%26l%3DPL-PL%26k%3Dk(C2061)%26rd%3Dtrue

Jak to rozwiązać?

Pozdrawiam,
MF

komentarz 17 stycznia 2018 przez j23 Mędrzec (194,920 p.)
To jeszcze zdradź nam treść tego błędu.
komentarz 17 stycznia 2018 przez j23 Mędrzec (194,920 p.)

Może wklej to, co wypluwa kompilator, a nie kod błędu, bo w samej deklaracji funkcji nie widzę błędów. Być może nie załączyłeś nagłówka <vector>, albo tego, który definiuje typ Neuron.

komentarz 17 stycznia 2018 przez Maciek Furmańczyk Nowicjusz (160 p.)
void ProcessNetwork(std::vector <unsigned int> layers, Neuron** network, double** output, std::vector <double> input)
{
	for (int i = 0; i < layers.size(); i++)
	{
		for (int j = 0; j < layers[i]; j++)
		{
			if (i == 0)
			{
				network[i][j].InitializeNeuron(input);
				output[i][j]=network[i][j].TFunction();
			}
			else
			{
				std::vector<double> tempoutput;
				for (int k = 0; k < layers[i]; k++)
				{
					tempoutput.push_back(output[i-1][k]);
				}
				network[i][j].InitializeNeuron(tempoutput);
			}
		}
	}
}

Gdy przekopiuję funkcje do pliku z mainem wszystko działa jak należy.

komentarz 17 stycznia 2018 przez j23 Mędrzec (194,920 p.)
Ciężko idzie, ale podałeś chociaż kod :) Prosiłem Cię o dokładną treść błędu, którą wypluwa kompilator w trakcie kompilacji kodu. No ale jeśli twierdzisz, że w mainie kod się kompiluje, to prawdopodobnie problemem jest to, o czym wcześniej wspomniałem - nie załączyłeś jakiegoś nagłówka z definicjami typów/klas użytych w kodzie.

 

Więcej nie jestem w stanie Ci napisać.
komentarz 17 stycznia 2018 przez Maciek Furmańczyk Nowicjusz (160 p.)
Treścią błędu jest: Błąd    C2061    błąd składniowy: identyfikator „Neuron” .
komentarz 17 stycznia 2018 przez j23 Mędrzec (194,920 p.)

Załącz nagłówek z definicją klasy Neuron.

komentarz 17 stycznia 2018 przez Maciek Furmańczyk Nowicjusz (160 p.)
Jest dołączony.
komentarz 17 stycznia 2018 przez j23 Mędrzec (194,920 p.)
Gdzie jest ta funkcja zdefiniowana, w nagłówku czy pliku źródłowym?
komentarz 17 stycznia 2018 przez Maciek Furmańczyk Nowicjusz (160 p.)
Deklaracje są w pliku nagłówkowym a definicje w źródłowym.
1
komentarz 17 stycznia 2018 przez j23 Mędrzec (194,920 p.)

Z jakichś powodów kompilator ma problem z klasą Neuron. Może są jakieś dziwne zależności między nagłówkami i kompilator durnieje. Trudno powiedzieć przy tak skąpej ilości informacji.

 

Czy nagłówek z definicją klasy Neuron nie załącza innego nagłówka, który (bez)pośrednio załącza nagłówek od neurona?

komentarz 17 stycznia 2018 przez Maciek Furmańczyk Nowicjusz (160 p.)
Dzięki, działa :)
komentarz 17 stycznia 2018 przez j23 Mędrzec (194,920 p.)
I co było?
komentarz 21 stycznia 2018 przez Maciek Furmańczyk Nowicjusz (160 p.)
Bałagan w nagłówkach.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 237 wizyt
0 głosów
1 odpowiedź 273 wizyt
pytanie zadane 3 listopada 2016 w C i C++ przez Ziom Początkujący (430 p.)
0 głosów
2 odpowiedzi 416 wizyt
pytanie zadane 7 lipca 2017 w C i C++ przez TheFeniks Gaduła (4,690 p.)

92,628 zapytań

141,491 odpowiedzi

319,861 komentarzy

62,010 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...