C ++ endl输出十六进制数

时间:2014-07-23 03:32:03

标签: c++ g++ endl

用g ++编译了很多程序后,突然endl;表现出奇怪的行为。除了换行符之外,我还获得了十六进制数的控制台输出。想想我可能有一些内存泄漏问题,我重新启动了在Windows上运行VMWare的Linux Mint Debian Edition(最新版本)。问题依然存在。下面是我的g ++版本(自上一次正常输出以来没有变化)和一个输出低于该值的测试程序。

g ++ ver(Debian 4.8.2-1)4.8.2

void my_test_function(void)
{
  // cout << "my_test_function is working" << cout << endl;
  cout << "my_test_function is working\n" << cout << endl;
}

测试输出:

my_test_function is working 0x600ea8

3 个答案:

答案 0 :(得分:1)

声明

中的“cout”不正确

尝试以下

void my_test_function(void)
{
  cout << "my_test_function is working" << endl;
}

答案 1 :(得分:1)

我无法评论抱歉

该行必须如下所示

cout << "my_test_function is working" << endl;

答案 2 :(得分:1)

固定代码:

cout << "my_test_function is working" << endl;

std::cout是ostream的对象。您需要研究ostream operator<<的签名和std::cout的定义。