[컴파일에러] LNK1129, LNK2019 해결법2015. 7. 14. 18:43
템플릿 공부하면서 도무지 알 수 없는 에러를 발견하였다
^^...먼소린지...
검색해보니 없는 함수를 불러내서 뜨는 에러라고 한다
그럼 템플릿을 못찾는다는 걸로 볼 수 있는데 왜 안되는지 ㅜ.ㅜ
아래는 에러 뜰 때의 코드..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | //////////class.h/////////////// #pragma once #include <iostream> using namespace std; class Point { private: int xpos, ypos; public: Point(int x = 0, int y = 0) :xpos(x), ypos(y){} void ShowData() const { cout << "[" << xpos << ", " << ypos << "]" << endl; } ~Point(); }; //////////main.cpp/////////////// template <typename T1> void SwapData(T1& p1, T1& p2) //레퍼런스 { T1 temp; temp = p1; p1 = p2; p2 = temp; } int _tmain(int argc, _TCHAR* argv[]) { Point pos1; Point pos2; SwapData(pos1, pos2); _getch(); return 0; } | cs |
아무리 찾아봐도 틀린게 없ㅇㅓ서 한참 고민하다가
도움을 받아 알게 되었다
원인은 클래스의 소멸자였다
아래는 클래스의 소멸자를 없앤 코드..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | //////////class/////////////// #pragma once #include <iostream> using namespace std; class Point { private: int xpos, ypos; public: Point(int x = 0, int y = 0) :xpos(x), ypos(y){} void ShowData() const { cout << "[" << xpos << ", " << ypos << "]" << endl; } //~Point(); }; //////////main/////////////// template <typename T1> void SwapData(T1& p1, T1& p2) //레퍼런스 { T1 temp; temp = p1; p1 = p2; p2 = temp; } int _tmain(int argc, _TCHAR* argv[]) { Point pos1; Point pos2; SwapData(pos1, pos2); _getch(); return 0; } | cs |
소멸자를 주석하는게 아니라 몸체를 만들어야하는거지만~^^
다시 복습하게 된 점 !
함수에는 꼭 함수의 몸체가 있어야한다! ^_^!! 왜 선언만 해놨을까!!
클래스의 cpp 파일도 안만들었기 때문에 진짜 선언만 해놓은 상태였다.
함수 선언만 하는 경우는 순수가상함수 밖에 없다
외에는 함수의 몸체는 꼭 있어야한다!!!
그래서 저런 에러가 뜬 것이다
꼭꼭 기억하기!
'[에러정리]' 카테고리의 다른 글
[Unity/Max3D] ImportFBX Errors: Time range (447394) for scale curve(s) on node 'bone name' on take 'animation clip name' larger than maximum allowed (100000). (0) | 2017.08.31 |
---|---|
[Unity 컴파일 에러] InitializeUnityExtensions: Must have a valid path for plugin[n] (0) | 2017.08.29 |
[런타임에러] 무한루프 일어날 경우 (0) | 2016.01.14 |
[컴파일에러] LNK2001 에러 없애는 법 (static) (3) | 2015.08.17 |
[컴파일에러] C2054 에러 발생 경우 (0) | 2015.08.12 |