首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-05-02 
MinGW环境下编译C++程序typeid的显示结果异常#include iostream#include typeinfousing std::coutusi

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++
[解决办法]
标准没要求你能懂得这些命名。

热点排行