Słuchajcie, problem rozwiązany.
Mój kompilator to g++ 4.8.1 (MinGW w NetBeans). Zrobiłem, co następuje:
- Zmieniłem poziom ostrzeżeń kompilatora z domyślnego "Some warnings" na "More warnings".
- Usunąłem wcześniej utworzoną strukturę, o której pisałem.
- Pojawiło mi się ostrzeżenie co do INNEJ FUNKCJI. Zmieniłem więc jej sygnaturę (w deklaracji i w definicji).
- Pojawiło mi się ostrzeżenie co do niezgodności typów porównywanych w jakiejś tam pętli. Zmieniłem.
Od tej chwili kompilator i linker uznały, że wszystko jest ok, i nastąpił "BUILD SUCCEFUL". To były NAJPRAWDOPODOBNIEJ jedyne zmiany, które przeprowadziłem od błędu Undefined reference
.
Po tym nawet zmieniłem poziom ostrzeżeń na mniejszy, bo pomyślałem sobie, czy to może jakiś bug NetBeansa, że wyższy poziom ostrzeżeń generuje mniej errorów, no ale nie, wszystko działało i po powrocie na "Some warnings" (oczywiście cały czas staram się naciskać "Clean and build").
Sam już nie wiem, czemu to działa teraz... pamiętam, że tam w błędzie linkera była ta funkcja wyjściowa, a
(jak ją nazwałem)... ale może rzeczywiście to chodziło o tę INNĄ funkcję, tylko przeoczyłem nazwę... z drugiej strony, co ma Undefined reference
do błędnego typu zwracanego? (identycznego w deklaracji i w definicji, chodziło tylko o to, że funkcja nic nie zwracała, a była int
)
Cieszę się, że się udało, dzięki jeszcze raz wszystkim za rady. :) Nie mam czasu w to wnikać, ale jak ktoś by chciał, to może oczywiście się wypowiedzieć. ;)