我们说我有一个由.P6AAAY09HXZ
表达式返回的字符串。在Visual C ++中,它返回weblogic.jms.commom.JMSException:[JMSClientExceptions:055115]Error deserialising an object
Caused by: java.lang.ClassNotFoundException: com.my.TestClass
。我如何获得原始类型表达式,或至少接近它的东西?我已经尝试过 UnDecorateSymbolName ,但它会返回输入。看来此函数仅适用于修饰函数名称。是否可以修改返回的代码,以便函数接受它?
答案 0 :(得分:0)
您可以使用boost::core::demangle
或boost::typeindex
:
#include <boost/core/demangle.hpp>
#include <boost/type_index.hpp>
using type = int(&(*)())[10];
auto name = typeid(type).name();
std::cout << boost::core::demangle( name ) << '\n';
std::cout << boost::typeindex::type_id<type>().pretty_name() << '\n';