读书人

MinGW环境下编译C++程序 typeid的显示

发布时间: 2013-05-02 09:39:29 作者: rapoo

MinGW环境下编译C++程序 typeid的显示结果异常

#include <iostream>
#include <typeinfo>
using std::cout;
using std::endl;

class Base {
public:
virtual void iam() {
cout << typeid(*this).name() << endl;
}
};

class Over1 : public Base {};

int main() {
Base *instance = new Over1();
instance -> iam();
}

输出结果显示为:5Over1
---
我勒个去,这个5表示什么东西啊,求助一下。 C++ mingw typeid
[解决办法]
是typeid的值吧。
[解决办法]
标准只要求不同类型的typeid的name()返回不同的字符串,具体返回的内容由编译器决定
只不过vs返回的是原始类型名,能看懂,而g++则返回编译器的内部命名
[解决办法]
可能是编译器的问题吧,我编译没问题 vc++
[解决办法]
标准没要求你能懂得这些命名。

读书人网 >C++

热点推荐