Cout ничего не выводит

Рейтинг: -1Ответов: 1Опубликовано: 27.04.2023

Часто сталкиваюсь с проблемой того, что cout, ничего не выводит, и иногда вообще программа перестаёт выполнятся и завершается без каких-либо ошибок. Вот пример подобного кода:

#include <iostream>
using namespace std;

int *f(){
    int arr[3]{1,2,3};
    return arr;
}

int main(){
    int* x = f();
    cout<<x[0];
}

При запуске, ошибок нет, и вывода тоже нет. В чем может быть проблема и как её решить?

Ответы

▲ 0Принят

Данная ошибка возникает из-за передачи указателя на локальную переменную, для решения достаточно сделать её глобальной.

#include <iostream>
using namespace std;

int arr[3]{1,2,3};

int *f(){
    return arr;
}

int main(){
    int* x = f();
    cout<<x[0];
}

Вывод: 1