Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno [C++] Unrslv. external symbol (LNK2019)

Dobrý den, nedávno jsem v C++ začal probírat generické typy. Ale narazil jsem na problém při jejich používání.

Error	2	error LNK1120: 1 unresolved externals
Error	1	error LNK2019: unresolved external symbol "public: int __thiscall HashMap<int,bool>::size(void)" (?size@?$HashMap@H_N@@QAEHXZ) referenced in function _WinMain@16

Dočetl jsem se že chyba může být způsobena tím že nebylo nalezeno tělo funkce.

Hlavička

template <typename KEY, typename VALUE>
class HashMap {
...
	KEY KEYS[1];
	VALUE VALUES[1];
public:
	int size();
...
	HashMap() {}
	~HashMap() {}

Tělo

template <typename KEY, typename VALUE>
int HashMap<KEY, VALUE>::size() {
	return getArrayLength(KEYS);
}

Použití

HashMap<int, bool> testMap;
std::cout << "SIZE: " << testMap.size();

Už se s tím pitvám přes 2 hodiny, snažím se vygooglit proč by to nemělo fungovat. Používám toolset Visual Studio 2013 (v120).
Najde se tu hodná duše co mi vynadá a řekne kde dělám chybu? Děkuji.

Předmět Autor Datum
Ako to máš rozdelené do súborov? Ak máš telo (HashMap::size) v samostatnom súbore, tak tam je problé…
los 06.11.2014 21:53
los
Ano!! Děkuji. To je ale teda pitomost! Takhle si teď budu dělat nepořádek v kódu. Mockrát děkuji za… poslední
ajtak002 06.11.2014 22:06
ajtak002

Zpět do poradny Odpovědět na původní otázku Nahoru