C++ 将Try/Catch与裸函数一起使用

C++ 将Try/Catch与裸函数一起使用,c++,C++,为什么不允许对裸函数使用Try-Catch?还有别的选择吗 Error 2 error C2490: 'try' not allowed in function with 'naked' attribute 结构化异常处理和C++异常处理构造是不允许的,因为它们必须展开堆栈框架。< /P> 看 结构化异常处理和C++异常处理构造是不允许的,因为它们必须展开堆栈框架。< /P> 请参见在裸机上使用异常处理不起作用的原因是它们的函数没有标准的prolog和epilog部分,这是展开堆栈所必需

为什么不允许对裸函数使用Try-Catch?还有别的选择吗

Error 2 error C2490: 'try' not allowed in function with 'naked' attribute   

结构化异常处理和C++异常处理构造是不允许的,因为它们必须展开堆栈框架。< /P> 看

结构化异常处理和C++异常处理构造是不允许的,因为它们必须展开堆栈框架。< /P>


请参见

在裸机上使用异常处理不起作用的原因是它们的函数没有标准的prolog和epilog部分,这是展开堆栈所必需的,而catch有。它说裸函数的局限性也是如此


你需要找到其他方法来实现你想要的——要么用某种方式包装你的裸体函数,让它们穿上衣服[衣服=裸体的反面,不确定这是否是技术术语],要么不使用try-catch

在裸机上使用异常处理不起作用的原因是,它们的函数没有标准的prolog和epilog部分,这是展开堆栈所必需的,而catch有标准的prolog和epilog部分。它说裸函数的局限性也是如此


你需要找到其他方法来实现你想要的——要么用某种方式包装你的裸体函数,让它们穿上衣服[衣服=裸体的反面,不确定这是否是技术术语],要么不使用try-catch

你说裸体是什么意思?到底什么是不允许的?当我用try-and-catch-statment和裸函数一起使用时,我得到一个编译错误,告诉我用try-with-裸函数是不正确的allowed@HediNaily:由于它清楚地显示Microsoft特定,您可能需要添加一些更合适的标记。感谢链接。虽然不标准,但很有趣。你说的裸体是什么意思?到底什么是不允许的?当我用try-and-catch-statment和裸函数一起使用时,我得到一个编译错误,告诉我用try-with-裸函数是不正确的allowed@HediNaily:由于它清楚地显示Microsoft特定,您可能需要添加一些更合适的标记。感谢链接。虽然不标准,但很有趣。