방금 skiplist 컨테이너 라이브러리를 출시했습니다. 그리고 썬 컴파일러는 이것에 대해 불평 :템플릿 함수에 대한 템플릿 인수
이"include/CSIndexedSkipList.h", line 65: Error: Too few arguments for template std::reverse_iterator<CS::BidiIdxIterator<CS::IndexedSkipList<CS::T, CS::R>>>.
"include/CSIndexedSkipList.h", line 207: Where: While specializing "CS::IndexedSkipList<CS::T, CS::R>".
"include/CSIndexedSkipList.h", line 207: Where: Specialized in non-template code.
위의 코드는 207에서 시작 것입니다 그러나 그것은 reverse_iterator에 대해 불평 것 같다 :
template <class T, class R>
bool operator==(const IndexedSkipList<T,R> &left, const IndexedSkipList<T,R> &right)
{
return ((left.size() == right.size()) &&
(std::equal(left.begin(), left.end(), right.begin())));
}
오류는 있습니다. 나는 그것을 실제로 이해할 수 없다. 필자는 Sun 컴파일러에 직접 액세스 할 수 없으므로 내가 잘못하고 있는지 궁금해하고있었습니다.
: 또한, 그들은 단지 이것을 사용, 난 단지 reverse_iterator에서 하나 개의 템플릿 인수를 사용하고 있습니다,하지만 난 그래도 난 봤는데 어디에나 두 번째 인수 T.에 대한 기본이 없다는 것을 말하는 SGI 문서를 발견
typedef std::reverse_iterator<iterator> reverse_iterator;
그건 컴파일러가 불평하는 65 행입니다. 매개 변수로 T를 추가해야합니까? 문제의 오류를 파악할 수 없습니다.
현재,이 발견은 모든 플랫폼에서 gcc에서 작동합니다. 또한 볼랜드에서도 잘 작동합니다.