단순 격자 검색을 사용하여 부분 합계를 찾기 위해 stxxl 벡터의 블록 크기 BlkSize_
매개 변수를 최적화해야합니다. stxxl 벡터에 대해이를 지정하는 유일한 방법은 벡터 생성기에서 템플릿 매개 변수로 사용하는 것 같습니다. 블록 크기 템플릿 매개 변수가 주어진 경우 partial_sum 함수에서 사용하는 시간을 출력하는 재귀 적 템플릿 함수를 사용하고 싶습니다. 매개 변수로 벡터 크기를 전달해야합니다.C++에서 STXXL 템플릿을 사용하는 재귀 템플릿 함수의 오류
여기 내 코드입니다 :
template<unsigned int size>
void TestPartialSum(int N) {
typedef stxxl::VECTOR_GENERATOR<
int,
1,
1,
size,
stxxl::RC,
stxxl::lru>::result xxlvector;
xxlvector v(N);
xxlvector res(N);
iota(v.begin(), v.end(), 5, 2);
std::cerr << "N = " << N << std::endl;
Profiler profiler;
std::partial_sum(v.begin(), v.end(), res.begin());
TestPartialSum<size/2>(N);
return;
}
그러나 struct stxxl::VECTOR_GENERATOR
정확히 6 개 매개 변수 (class Tp_, unsigned int PgSz_, unsigned int Pages_, unsigned int BlkSize_, class AllocStr_, stxxl::pager_type Pager_
)을 소요하지만,이 수신하십시오 typedef
라인
error: too few template-parameter-lists
합니다.
무엇이 문제 일 수 있습니까?
당신이result
것을 알려줄 수있는
typename
누락 된 것 같습니다
오류가 발생한 행은 무엇입니까? – doctorlove
@doctorlove,'typedef ... ' – FrauHahnhen