저는 "C++ Primer 5th edition", p110에서 연습을하고있는 초보자입니다 : 다음과 같이 벡터의 크기와 내용을 인쇄하는 프로그램을 작성하십시오.템플릿으로 반복자를 처리 할 수 있습니까?
(a) vector<int> v1;
(b) vector<int> v2(10);
(F) vector<string> v6{10};
(g) vector<string> v7{10, "hi"};
내가 모두 스트링을 처리하는 템플릿 함수를 사용하여 상기 벡터 값 int 수 ? '표준 : : 벡터'종속 범위이기 때문에 오류가 발생
template<class t>
void check_vector(vector<t> *_v)
{
if(_v->begin() == _v->end())
{
cout << "the vector is empty\n";
}
else
{
int i=0;
for(vector<t>::iterator it = _v->begin(); it != _v->end(); it++) //error.
{
cout << *it;
i++;
}
cout << "\nthe size is : "
<<i
<<"\n";
}
}
은 '표준 : : 벡터 :: 반복자 전에 필요'유형 이름을 '이다 는이 같은 기능을 썼다.
그렇게 할 수 있습니까? 그렇다면 코드를 어떻게 수정해야합니까? Thx.
는
"벡터 v1"이란 무엇입니까? 무슨 뜻이야? – aschepler
그래서 거기에 넣어! 일반적으로 컴파일러를 신뢰할 수 있습니다. 컴파일러가 그런 힌트를 제공한다면 믿을 수 있습니다. –
v1은 그냥 빈 벡터입니다. @ aschepler –