Форум программистов, компьютерный форум, киберфорум
Наши страницы

Visual Studio 2008 Release - версия приложения, не объявляется переменная - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Циклический сдвиг в двумерном динамическом массиве http://www.cyberforum.ru/cpp-beginners/thread717861.html
Вот такая программа, надо сделать циклический сдвиг в двумерном динамическом массиве по такой вот схеме (см. рис). да так, чтобы В результате преобразования должна измениться матрица, просто...
C++ Дан набор слов на английском языке, разделенных пробелами.Выбелить в последовательности нечетные слова прописными буквами Дан набор слов на английском языке, разделенных пробелами.Выбелить в последовательности нечетные слова прописными буквами. #include<locale> #include<string.h> #include<stdlib.h> void main() {... http://www.cyberforum.ru/cpp-beginners/thread717857.html
Сглаживание по точкам C++
Всем привет:) такой вопрос, реально ли написать программу: линейное сглаживание по 3 и 5 точкам и нелинейное по 7 точкам??? И что-бы в выходных данных строился график. Если это как-то можно сделать...
Массивы (нужен совет) C++
вот программа в подчеркнутой строке выдает ошибку "выражение должно иметь константное значение" (это касается n) как исправить то? #include <iostream> #include <stdlib.h> using namespace std;...
C++ В массиве найти самую маленькую серию подряд стоящих нечетных элементов... (Как доработать программу?) http://www.cyberforum.ru/cpp-beginners/thread717839.html
Помогите доработать программу В заданном массиве целых чисел найти самую маленькую серию подряд стоящих нечетных элементов. Удалить из массива два первых простых числа. Проверить, изменилась ли...
C++ указатели (матрица, найти наибольший из элементов) дана вещественная матрица n*n .В строках с отрицательным элементом на главной диагонали найти наибольший из элементов. с помощью указателей) подробнее

Показать сообщение отдельно
PazDim
5 / 5 / 0
Регистрация: 08.08.2011
Сообщений: 93

Visual Studio 2008 Release - версия приложения, не объявляется переменная - C++

03.12.2012, 19:10. Просмотров 580. Ответов 6
Метки (Все метки)

Здравствуйте, у меня вопрос по Release-версии проекта.
Есть проект, отладочная версия компилируется и работает нормально. Релиз версия компилируется, но в процессе работы возникает ошибка. Ошибка возникает при попытке доступа к элементу массива через индекс. Индекс-переменная. Как оказалось, в релизной версии ее вообще нет... Вот код функции:
Кликните здесь для просмотра всего текста


C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
TCHAR buf[200]={0};//Для сохранения строки из pLBField
    pLBField->GetText(y,buf);//Чтение строки
    pLBField->DeleteString(y);//Удаление строки
    for(int k=x;(buf[k]==' ')||(buf[k]=='\0');k--)//Очистка места для строки матрицы
        buf[k]=' ';
    buf[x]=name;//Запись имени матрицы
    pLBField->InsertString(y,buf);//Сохранение получившейся строки
    for(int i=y+1;i<y+m+1;i++)//Запись строк матрицы
    {
        for(int v=0;v<200;v++)
            buf[v]=0;
        pLBField->GetText(i,buf);//Чтение строки
        pLBField->DeleteString(i);//Удаление строки
        TCHAR BufDouble[255]={0};//Строка для элемента матрицы
        for(TInd k=0;k<n;k++)//Отображение всех элементов матрицы, находящихся на строке i-y-1
        {
            short MaxX=x+k*GetMaxElemWidth()+k;//Начальная позиция для отображения строки элементов матрицы
            sprintf (BufDouble, "%f",Matrix[i-y-1][k]);//Преобразование элемента матрицы в строку
            for(int q=MaxX+x;(buf[q]==' ')||(buf[q]=='\0');q--)//Очистка местя для элемента матрицы
                buf[q]=' ';
            for(short l=0;l<GetDoubleLength(Matrix[i-y-1][k],Accuaracy);l++)//Запись элемента матрицы в строку buf
                buf[MaxX++]=BufDouble[l];//-----------------------Здесь вылет в релизной версии
        };
        pLBField->InsertString(i,buf);//Сохранение получившейся строки
    };

Как мне кажется, все дело в переменной MaxX(Объявляется в цикле for(TInd k=0;k<n;k++) ). В отладочной версии она есть. В релизной версии ее нет.

Появляется такая ошибка: "Unhandled exception at 0x0040355a in MatrixWnd.exe: 0xC0000005: Access violation writing location 0x00131644." Можете подсказать, что делать? Искал похожие вопросы-только в одном случае сказали, что дело в "скрытых" ошибках(те, что в отладочной версии не ловятся). Что это за ошибки? Заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru