这是我收到的错误:
我想知道这个:
try catch
块来处理该错误?
OR try catch
不可能,如何处理该错误?当我通过指向具有错误签名的成员函数的指针调用成员函数时,我收到此错误。 如果我用正确的签名称它,那当然不会发生这个错误,但是,我只是想知道如果它发生的话我该如何处理它。
答案 0 :(得分:2)
1。您无法使用try
/ catch
处理该错误。
这是因为try
/ catch
依赖于调用堆栈而您的错误是您的调用堆栈已损坏。
2. 没有合理的运行时方法可以提前知道代码会破坏堆栈。
这些问题通常在代码本身中转换(函数)指针时谨慎处理。编译器不允许使用不正确的函数指针赋值,除非你用强制转换强制它。
答案 1 :(得分:0)
您不能catch
使用错误的调用约定进行函数调用,因为它在C ++术语中不是例外。错误是一个潜在致命的错误,它与程序的结构或表述有关,你不应该试图“处理”它,除非你正在做一些严重的低级别后向兼容特技表演雷蒙德·陈。