Я знаю, что это может быть общий вопрос, но я попытался выполнить поиск, но все еще не могу найти четкого ответа.
У меня есть следующий код:
int* f() {
int a[] = {1,2,3};
return a;
}
int main() {
int a[] = f(); // Error here
getch();
return 0;
}
Этот код дает сообщение об ошибке: « Невозможно преобразовать из 'int *' в 'int []'
»
Мне это показалось довольно странным, потому что я читал, что указатель и массив похожи. Например, мы можем использовать [i] вместо * (a + i). Кто-нибудь может дать мне четкое объяснение, пожалуйста?