1
는 코드가있다 :방지 템플릿 부분 특수화 오류
#include <functional>
template<typename DataType, typename Compare=std::less<DataType>>
class MyClass {
public:
explicit MyClass(const Compare& f = Compare()) {
compare = f;
};
bool foo(DataType, DataType);
private:
Compare compare;
};
template<typename DataType>
bool MyClass<DataType>::foo(DataType a, DataType b) {
return compare(a, b);
}
하는 컴파일 오류지고있는 동안 :
error: nested name specifier 'MyClass<DataType>::'
for declaration does not refer into a class, class template or class
template partial specialization bool MyClass<DataType>::foo(DataType a, DataType b) {
어떻게 오류를 방지하고 클래스 외부 메소드를 선언을?
[데모] (http://ideone.com/1ZFJnT) –