Chad..
13
A std::vector和T* []不兼容的类型.
更改您的tester()功能签名如下:
//file: test.cpp
int tester(const std::vector& s) // take a const-reference to the std::vector
// since you don't need to change the values
// in this function
{
for (size_t i = 0; i < s.size(); ++i){
cout<< s[i]->name<address<
}
return 0;
}
有几种方法可以通过这个std::vector,所有方法都有不同的含义:
// This would create a COPY of the vector
// that would be local to this function's scope
void tester(std::vector);
// This would use a reference to the vector
// this reference could be modified in the
// tester function
// This does NOT involve a second copy of the vector
void tester(std::vector&);
// This would use a const-reference to the vector
// this reference could NOT be modified in the
// tester function
// This does NOT involve a second copy of the vector
void tester(const std::vector&);
// This would use a pointer to the vector
// This does NOT involve a second copy of the vector
// caveat: use of raw pointers can be dangerous and
// should be avoided for non-trivial cases if possible
void tester(std::vector*);