Переменные, объявленные в области видимости файла, должны иметь инициализаторы, которые являются константами времени компиляции. Вызов функции считается исполняемым кодом и не может существовать вне функции.
Лучший способ справиться с этим - инициализировать указатель на NULL и выполнить malloc
в функции main
.
Причина, по которой вы не видите ошибки в DEV-C ++, заключается в том, что это компилятор C ++, а C ++ позволяет инициализировать переменные области файла с помощью вызовов функций.