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

回到顶部