После компиляции большого количества программ с 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
У вас неправильный «cout» в заявлении
Попробуйте следовать
void my_test_function(void)
{
cout << "my_test_function is working" << endl;
}
Я не могу комментировать там извините
Линия должна быть примерно такой:
cout << "my_test_function is working" << endl;
Фиксированный код:
cout << "my_test_function is working" << endl;
std::cout
является объектом ostream. Вам нужно изучить подпись Ostream’s operator<<
и определение std::cout
,