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