С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для tonline_kms65
-16 / 0 / 0
Регистрация: 17.09.2016
Сообщений: 224

При объявлениии одномерного массива компиляция успешно, но игра падает

22.04.2023, 13:22. Показов 526. Ответов 15
Метки с++ (Все метки)

Студворк — интернет-сервис помощи студентам
Все здравствуйте!
У меня появилась, такая, странная проблема.
Я объявляю простенький, одномерный массив в шапке класса(например):
C++
1
float massive[64];
Я этот массив не инициализирую, он просто объявлен, но как только я его объявляю - игра падает!
Компиляция проходит без ошибок, все вреде как отлично.

Если я такой-же массив объявляю внутри любой функции класса(т.е. объявляю локальной) - все работает как по маслу.
Не могу понять, если попытаться инициализировать этот массив в шапке класса - получаю какую то ошибку fatal error C1001: Внутренняя ошибка в файле компилятора.
Любые операции с массивом, объявленным внутри функций класса(локально) - все работает отлично.

Это что еще может быть за билеберда?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.04.2023, 13:22
Ответы с готовыми решениями:

Компиляция прошла успешно (0 строк)
Добрый день, уважаемые форумчане. Возникла проблема при компиляции программы: по неведомым причинам PascalABC.NET отказывается читать текст...

WDK7000 компиляция не завершается успешно
Доброго времени суток.Помогите с элементарной вещью) Установил windows driver kit 7000.Компилирую исходник драйвера через "windows...

Как исправить формулу, чтобы компиляция прошла успешно?
#include <iostream> #include <cmath.> using namespace std; /* run this program using the console pauser or add your own getch,...

15
фрилансер
 Аватар для Алексей1153
6449 / 5643 / 1129
Регистрация: 11.10.2019
Сообщений: 15,025
22.04.2023, 13:28
tonline_kms65, так попробуй инициализировать для начала Где-то сидит UB

Осмотри все действия с этим массивом

Добавлено через 21 секунду
приведи код (желательно весь)
0
 Аватар для tonline_kms65
-16 / 0 / 0
Регистрация: 17.09.2016
Сообщений: 224
22.04.2023, 13:29  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class CNPC_t80u : public CAI_BaseNPC
{
    DECLARE_CLASS(CNPC_t80u, CAI_BaseNPC);
 
public:
    CNPC_t80u();
    ~CNPC_t80u();
    Class_T         Classify(void) { return CLASS_MILITARY; };
    void            Precache();
    void            Think();
    void            Spawn();
    void            Activate();
 
    ...........
    ...........
    ...........        
 
    float    m_fMaximumTrace[64];
    Vector   m_vPosAimPosTrace[64];
    ...........
    ...........
    ...........
Может быть что то не так объявляю?
Может быть сишные хитрости какие то?
0
 Аватар для Наталья8
519 / 369 / 66
Регистрация: 09.03.2016
Сообщений: 3,904
22.04.2023, 13:30
На куче делай.
0
фрилансер
 Аватар для Алексей1153
6449 / 5643 / 1129
Регистрация: 11.10.2019
Сообщений: 15,025
22.04.2023, 13:31
так это же не полный код, тут ничего не увидеть.

инициализировать можно так
Цитата Сообщение от tonline_kms65 Посмотреть сообщение
float    m_fMaximumTrace[64]{};
0
 Аватар для Наталья8
519 / 369 / 66
Регистрация: 09.03.2016
Сообщений: 3,904
22.04.2023, 13:32
А почему не vector?
0
фрилансер
 Аватар для Алексей1153
6449 / 5643 / 1129
Регистрация: 11.10.2019
Сообщений: 15,025
22.04.2023, 13:33
Цитата Сообщение от tonline_kms65 Посмотреть сообщение
получаю какую то ошибку fatal error C1001: Внутренняя ошибка в файле компилятора.
аа, я невнимательно прочитал. То есть, падает сам компилятор? Ну, так хоть скажи название и версию компилятора. Может, нужно его обновить
0
 Аватар для tonline_kms65
-16 / 0 / 0
Регистрация: 17.09.2016
Сообщений: 224
22.04.2023, 13:34  [ТС]
Цитата Сообщение от Алексей1153 Посмотреть сообщение
Осмотри все действия с этим массивом
Действий никаких, вообще никаких, по всему коду, поэтому и странность, пустая переменная(глобальная), абсолютно пустая, в смысле она не используется нигде, компиляция проходит без ошибок, игра при запуске, даже не успев загрузить заставочный экран просто вылетает на рабочий стол.
Если я закоментирую(их все равно нет, они не рабочие) эти 2 массива - все прекрасно работает.
Во головняк так головняк.
Может быть что то с компилятором? У меня VS2013
0
 Аватар для Наталья8
519 / 369 / 66
Регистрация: 09.03.2016
Сообщений: 3,904
22.04.2023, 13:36
Компилятор иногда того...
Да и винда, и память на компе.
0
 Аватар для tonline_kms65
-16 / 0 / 0
Регистрация: 17.09.2016
Сообщений: 224
22.04.2023, 13:36  [ТС]
Цитата Сообщение от Алексей1153 Посмотреть сообщение
То есть, падает сам компилятор?
Компиляция проходит успешно(как бы я игру запускал). Бинарники в норме.

Это я эти переменные(массивы) оставил для тестирования, у меня с самого начала были предположения и сомнения относительно этих массивов.
Я их сначала пытался сделать доступными из других функций этого класса, перенес из локальной области в глобальную(класса), как только перенес - ну и понеслась.......
По моему повторение того, о чём у меня была тема

Бредовее еще ничего не встречал.
0
 Аватар для Наталья8
519 / 369 / 66
Регистрация: 09.03.2016
Сообщений: 3,904
22.04.2023, 13:38
У меня такие чудеса давал. А потом планка памяти крякнула...
0
фрилансер
 Аватар для Алексей1153
6449 / 5643 / 1129
Регистрация: 11.10.2019
Сообщений: 15,025
22.04.2023, 13:39
tonline_kms65, в тырнете есть что-то про такую ошибку. Пишут, нужно апдейт ставить. Но страница для 2013 давно протухла
Самое время обновить студию на 2022 https://visualstudio.microsoft.com/ (в выпадающем списке выбрать Community - эта версия бесплатная. Но требуется аккаунт от майкрософта или от скайпа) .
0
 Аватар для Наталья8
519 / 369 / 66
Регистрация: 09.03.2016
Сообщений: 3,904
22.04.2023, 13:40
Переделай по другому...
0
 Аватар для tonline_kms65
-16 / 0 / 0
Регистрация: 17.09.2016
Сообщений: 224
22.04.2023, 13:53  [ТС]
Цитата Сообщение от Наталья8 Посмотреть сообщение
vector
Vector - это "модернизированный" под свои, внутренние, нужды(HL2 sourceengine) vector, в принципе то же самое.

Добавлено через 5 минут
Цитата Сообщение от Алексей1153 Посмотреть сообщение
Самое время обновить студию на 2022
Я уже думал об этом, но опасаюсь как бы хуже не стало.
Попробую какую-нибудь VS поновее установить, что то эта проблема начинает отдавать каким-то неприятным душком, так она вылезти может как угодно и где угодно.
0
 Аватар для Наталья8
519 / 369 / 66
Регистрация: 09.03.2016
Сообщений: 3,904
22.04.2023, 14:01
Цитата Сообщение от tonline_kms65 Посмотреть сообщение
Vector - это "модернизированный"
Не тоже. Он на куче...
0
фрилансер
 Аватар для Алексей1153
6449 / 5643 / 1129
Регистрация: 11.10.2019
Сообщений: 15,025
22.04.2023, 14:42
tonline_kms65, хуже то не станет. Как поставишь, первым делом прогони по проекту встроенный статический анализатор кода. Найдётся много интересного. Есть вероятность, что и данная ошибка тоже будет найдена.

Возможно, как раз в этом "Vector" есть косяки с выходом за края массива.

Кстати, есть здравая мысль от Наталья8 в том смысле, что для отладки попробуй массивы разместить в std::vector

отличие в том, что массив будет на куче, а не в теле экземпляра класса. И выходы за край отловятся с бОльшей вероятностью
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.04.2023, 14:42
Помогаю со студенческими работами здесь

Тестовая компиляция программы проходит успешно, но программа не запускается
Всем привет. Тестовая компиляция программы проходит успешно, но программа не запускается. Вернее запускается и предлагает прервать...

Исходник успешно компилируется в Ubuntu, но компиляция в Debian завершается ошибкой
всем привет... мучался два дня, что ни пишу, все ошибка.... уже внаглую взял, загуглил программку hello world для Ассемблер и скопировал...

игра сворачивается и пишется что видеодрайвер перестал отвечать и был успешно восстановлен
Добрый вечер! Мой комп Процессор Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz 7,1 Память (RAM) 2,00 ГБ Графика NVIDIA GeForce GTX 550...

Программа падает с грохотом при объявлении массива
Всем доброго времени суток, уважаемые форумчани! #include<stdlib.h> #include<time.h> void Task1(); int main() { ...

Произвести обработку одномерного массива указанным способом и сортировку одномерного массива
Я совсем не понимаю как это сделать. А сдать нужно уже завтра Необходимо: 1. Произвести обработку одномерного массива указанным...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru