g ++ — C ++ endl, выводящий шестнадцатеричное число

После компиляции большого количества программ с g ++ неожиданно endl; демонстрирует странное поведение. В дополнение к переводу строки, я также получаю вывод на консоль шестнадцатеричного числа. Подумав, что у меня возникла проблема с утечкой памяти, я перезагрузил свой Linux Mint Debian Edition (до последней версии), работающий в VMWare поверх Windows. Проблема сохраняется. Ниже моя версия 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

Решение

У вас неправильный «cout» в заявлении

Попробуйте следовать

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

Другие решения

Я не могу комментировать там извините

Линия должна быть примерно такой:

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

Фиксированный код:

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

std::cout является объектом ostream. Вам нужно изучить подпись Ostream’s operator<< и определение std::cout,

1
По вопросам рекламы [email protected]