std::promise.set_value 在centos下coredump

#include <future>
#include <iostream>
 
int main()
{
    std::promise<void> p;
    std::future<void> f = p.get_future();
 
    std::cout << std::boolalpha;
 
    std::cout << f.valid() << '\n';
    p.set_value();   //这里会coredump
    std::cout << f.valid() << '\n';
    f.get();
    std::cout << f.valid() << '\n';
}

g++ -o testFuture testFuture.cpp -pthread -std=c++11  编译选项加上-pthread就不会了,因为future需要链接线程库

参考:https://www.5axxw.com/questions/content/lwlcct

 

posted @ 2025-04-10 15:31  乐swap火  阅读(11)  评论(0)    收藏  举报