Witam serdecznie po raz pierwszy, ale z pewnością nie ostatni
Mój problem polega zapewne na niedostatecznym poziomie wiedzy odnośnie szablonów funkcji, ale liczę na pomoc szanownych Forumowiczów, a mianowicie:
buduję aplikację w C++ dla AVR i chciałbym zaimplementować statyczną metodę w klasie, która w parametrze będzie pobierać referencję do N-elementowej tablicy wskaźników. Funkcja znajdująca się poza klasą działa perfekcyjnie, jednak w zastosowaniu do klasy coś jest nie tak.
W ten sposób wygląda prototyp poprawnie działającej funkcji globalnej:
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Natomiast taki kod powoduje wyświetlenie błędu o treści "
Error 2 undefined reference to `void SensorNS::TSensor::Calculate<10u>(SensorNS::TSensor* (&) [10u])' ..." (przestrzeń nazw SensorNS nie ma tutaj znaczenia):
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Powyższy błąd pojawia się przy wywołaniu takiej statycznej funkcji:
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Przy usunięciu szablonów i podaniu na "sztywno" liczby elementów tablicy zamiast N wszystko jest w porządku, ale zależy mi na elastycznym kodzie.
Podany kod sprawdzałem na kompilatorze Dev-C++, w którym nie ma żadnych błędów kompilacji. Natomiast w AtmelStudio 6.0 ten błąd występuje.
Bardzo proszę o pomoc.