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

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

#include <iostream>
using namespace std;

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

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

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


Ответы (1 шт):

Автор решения: Igen

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

#include <iostream>
using namespace std;

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

int *f(){
    return arr;
}

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

Вывод: 1

→ Ссылка