C++ 책의 예제가 애러가 납니다. 도와주세요.
글쓴이: trymp / 작성시간: 월, 2014/01/13 - 11:27오전
#include <iostream> using namespace std; template< typename T1, typename T2 > class Test { public: T1 Add( T1 a, T2 b ) { cout << "일반 템플릿을 사용했습니다." << endl; return a; } }; //T2를 float로 구체화한 Test의 부분 전문화 템플릿 template< typename T1 > class Test { public: T1 Add( T1 a, float b ) { cout << "부분 전문화 템플릿을 사용했습니다." << endl; return a; } }; int main(int ac, char *av[]) { Test test1; test1.Add( 2, 3 ); Test test2; test2.Add( 2, 5.8f ); }
위에는 책의 예제인데요. 아래와 같은 컴파일 애러가 나는데,
왜 나는지 이유를 모르겠습니다.
c++ 잘 아시는 분들 조언을 부탁드립니다.
cc.cpp:8: error: previous declaration 'template class Test'
cc.cpp:20: error: used 2 template parameter(s) instead of 1
cc.cpp:20: error: redefinition of 'class Test'
cc.cpp:9: error: previous definition of 'class Test'
cc.cpp: In function 'int main(int, char**)':
cc.cpp:32: error: missing template arguments before 'test1'
cc.cpp:32: error: expected `;' before 'test1'
cc.cpp:33: error: 'test1' was not declared in this scope
cc.cpp:35: error: missing template arguments before 'test2'
cc.cpp:35: error: expected `;' before 'test2'
cc.cpp:36: error: 'test2' was not declared in this scope
Forums:
#include <iostream> using
//See here 라고 표시된 세 부분을 보세요.
저게 책 예제가 맞나요? 사실이라면 다른 책을
저게 책 예제가 맞나요? 사실이라면 다른 책을 보시는걸 추천합니다.
댓글 달기