C++ typeinfo name()和endl don';不要在Windows和mingw中一起工作
当我在Ubuntu(Ubuntu 13.10,64位,g++4.8.1)中运行这段简单代码时:C++ typeinfo name()和endl don';不要在Windows和mingw中一起工作,c++,windows-8,mingw,typeid,ubuntu-13.10,C++,Windows 8,Mingw,Typeid,Ubuntu 13.10,当我在Ubuntu(Ubuntu 13.10,64位,g++4.8.1)中运行这段简单代码时: #包括 #包括 #包括 使用名称空间std; 内部主(空) { const type\u info&ti\u trait=typeid(char\u traits::char\u type); cout解决方案是使用-static libgcc-static libstdc++()。感谢@sftrabbit。你确定是它上面调用name的那一行导致它失败了吗?@sftrabbit是的,但我不明白为什么…
#包括
#包括
#包括
使用名称空间std;
内部主(空)
{
const type\u info&ti\u trait=typeid(char\u traits::char\u type);
cout解决方案是使用-static libgcc-static libstdc++
()。感谢@sftrabbit。你确定是它上面调用name
的那一行导致它失败了吗?@sftrabbit是的,但我不明白为什么…奇怪的是,问题来自endl。如果我删除它,程序就可以正常工作了!?64位Windows?这就解决了问题!我必须用“-static libgcc-static libstdc++”。谢谢您的时间!
#include <iostream>
#include <typeinfo>
#include <string>
using namespace std;
int main(void)
{
const type_info &ti_trait = typeid(char_traits<char>::char_type);
cout << "Traits character type name : " <<
ti_trait.name() << endl;
return 0;
}