C++ 用(指针) 取不出STL容器中的 值 地址 ?
注明下是用指针 不是用引用 : ...
int main(){ std::vector<int> testData{100,500,60};
auto atValue = [=](std::vector<int> &vec,int *data){
for(auto it = vec.begin();it != vec.end();it++){
if (*it == 500) {
data = &*it;
break;
}
}
};
int *tint = NULL;
atValue(testData,tint);
//*tint = 50;
printf("%d",*tint);
return 0;
}
felix 说 :
int data改成int &data
问题得到解决感谢.
回答:
int main(){ std::vector<int> testData{100,500,60};
auto atValue = [=](std::vector<int> &vec,int **data){
for(auto it = vec.begin();it != vec.end();it++){
if (*it == 500) {
*data = &*it;
break;
}
}
};
int *tint = new int(0);
atValue(testData,&tint);
//*tint = 50;
printf("%d",*tint);
delete tint;
return 0;
}
have try
以上是 C++ 用(指针) 取不出STL容器中的 值 地址 ? 的全部内容, 来源链接: utcz.com/p/192784.html