C++ 用(指针) 取不出STL容器中的 值 地址 ?

发布于 2022-09-04 20:15:55 字数 689 浏览 11 评论 0

注明下是用指针 不是用引用 : ...
图片描述

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

问题得到解决感谢.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青衫负雪 2022-09-11 20:15:55
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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文