Форум программистов, компьютерный форум CyberForum.ru

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() { setlocale(LC_ALL, "Russian"); FILE *file; char st; http://www.cyberforum.ru/cpp-beginners/thread717857.html
Сглаживание по точкам C++
Всем привет:) такой вопрос, реально ли написать программу: линейное сглаживание по 3 и 5 точкам и нелинейное по 7 точкам??? И что-бы в выходных данных строился график. Если это как-то можно сделать подскажите добрым советом:)
Массивы (нужен совет) C++
вот программа в подчеркнутой строке выдает ошибку "выражение должно иметь константное значение" (это касается n) как исправить то? #include <iostream> #include <stdlib.h> using namespace std; int main() { srand(time(NULL)); //делаем rand() зависящим от текущего времени, по сути аналог randomize()
C++ В массиве найти самую маленькую серию подряд стоящих нечетных элементов... (Как доработать программу?) http://www.cyberforum.ru/cpp-beginners/thread717839.html
Помогите доработать программу В заданном массиве целых чисел найти самую маленькую серию подряд стоящих нечетных элементов. Удалить из массива два первых простых числа. Проверить, изменилась ли серия подряд стоящих нечетных элементов. (Функцией описать нахождение самой маленькой, подряд стоящей, нечётной серии элементов.) #include <iostream> #include <conio.h>
C++ указатели (матрица, найти наибольший из элементов) дана вещественная матрица n*n .В строках с отрицательным элементом на главной диагонали найти наибольший из элементов. с помощью указателей) подробнее

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

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

03.12.2012, 19:10. Просмотров 557. Ответов 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." Можете подсказать, что делать? Искал похожие вопросы-только в одном случае сказали, что дело в "скрытых" ошибках(те, что в отладочной версии не ловятся). Что это за ошибки? Заранее спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru