[[noreturn]] 运行报错

45 阅读1分钟

有一段程序,我最开始下意识这样写的:

class A{
public:
 [[noreturn]] void forThread();
}

A a;
std::thread th = std::thread(&A::a,this);

编译可以通过,但是运行会直接报错,显示

image.png

后面把[[noreturn]] 去掉就可以了,为什么?

暂时没查到原因,暂做记录。