0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 14
|
|||||||||||
1 | |||||||||||
Ошибка: Run-time check failure: variable 'C' is being used without being initialized04.02.2013, 20:29. Показов 2465. Ответов 22
Метки нет (Все метки)
Здравствуйте,
Помогите решить одну проблему. Есть задание написать программу, которая находит определитель матрицы и умножает две матрицы, введенные з клавиатуры. В процесе решения задачи наткнулся на следующую проблему. После компиляции в строке 74 IDE выдает ошибку "Run-time check failure: variable 'C' is being used without being initialized". По разному пробовал исправить, не получаеться никак.
0
|
04.02.2013, 20:29 | |
Ответы с готовыми решениями:
22
Ошибка Run-Time Check Failure #3 - The variable 'y' is being used without being initialized Ошибка Run-Time Check Failure #3 - The variable 'k' is being used without being initialized Ошибка: Run-Time Check Failure #3 - The variable 'i' is being used without being initialized Ошибка: Run-Time Check Failure #3 - The variable 'zero' is being used without being initialized. |
390 / 365 / 111
Регистрация: 03.02.2013
Сообщений: 1,120
|
|
04.02.2013, 20:54 | 2 |
если создашь объект класса например так CSome A = 100; (или аналогично CSome A(100) он для этого объекта A установит внутренний p в ноль, sz в 100 и выделит память под массив ({p = new int[a];} попробуйте macierz C = func(*A,*B); а это - ",*C=NULL" уберите
0
|
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 14
|
|
04.02.2013, 23:34 [ТС] | 3 |
спасибо большое, кажеться понял
компилится, код работает, но при выходе из функции void main() вылетает с ошибкой: "Необработанное исключение в "0x511865ca (msvcr100d.dll)" в "задание.ехе": 0xC0000005: Нарушение прав доступа при чтении "0xfeeefee2"." IDE кидает меня на какойто dbgdel.cpp, на строку "_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse));" как это исправить?
0
|
229 / 76 / 9
Регистрация: 03.02.2013
Сообщений: 311
|
|
05.02.2013, 01:28 | 4 |
0
|
Форумчанин
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||||||
05.02.2013, 01:38 | 5 | |||||
Добавлено через 1 минуту getc - уже существует такая стандартная функция http://www.cplusplus.com/reference/cstdio/getc/ Добавлено через 2 минуты переменная С уничтожается при выходе из тела функции, т.о. потом будет идти работа с мусором Добавлено через 17 секунд по стандарту int main
0
|
229 / 76 / 9
Регистрация: 03.02.2013
Сообщений: 311
|
||||||
05.02.2013, 01:40 | 6 | |||||
Не соглашусь с Вами. Многие компиляторы отличают массив от единичной переменной.
0
|
229 / 76 / 9
Регистрация: 03.02.2013
Сообщений: 311
|
|
05.02.2013, 01:45 | 8 |
как же Вы тогда объясните отстутствие утечки в вышеприведенном коде? Проверял на MVS 2008. MinGW кстати тоже компилирует этот код без утечек.
0
|
229 / 76 / 9
Регистрация: 03.02.2013
Сообщений: 311
|
|
05.02.2013, 01:54 | 10 |
MrGluck, какие программы? сомневаюсь что студия следит за тем, что нужно удалять.
0
|
229 / 76 / 9
Регистрация: 03.02.2013
Сообщений: 311
|
|
05.02.2013, 02:01 | 12 |
Я согласен в том, что лучше писать delete[] когда работаем с массивом, но объясните мне почему тот код не вызывает утечку?
0
|
63 / 58 / 14
Регистрация: 14.12.2011
Сообщений: 193
|
|
05.02.2013, 02:03 | 13 |
Насколько я помню : основная разница между двумя операторами в том, что delete[] вызовет деструкторы цепочки обьектов, а delete только первого.
2
|
Форумчанин
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
05.02.2013, 02:06 | 14 |
форма delete действительно определяется количеством вызываемых деструкторов, однако, как я писал выше, ссылаясь на стандарт, использование неодинаковых форм new и delete приводит к undefined behaviour
Ошибка: Run-time check failure: variable 'C' is being used without being initialized
0
|
229 / 76 / 9
Регистрация: 03.02.2013
Сообщений: 311
|
|
05.02.2013, 02:15 | 15 |
0
|
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 14
|
||||||
05.02.2013, 02:53 [ТС] | 16 | |||||
всем спасибо за дискусии, решил проблему следующим способом:
0
|
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 14
|
|
05.02.2013, 03:19 [ТС] | 18 |
0
|
Форумчанин
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
05.02.2013, 03:21 | 19 |
Qeeet, я же вам стандарт процитировал. Делается все это для того, чтобы ОС знала, как завершилась программа. Ведь, возможно, данные из неё могут впоследствии использоваться в следующей, вызываемой из конвейера.
2
|
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 14
|
||||||
05.02.2013, 04:34 [ТС] | 20 | |||||
у меня возникла проблема с матрицей которая была создана конструктором macierz::macierz(int,int). ячейки этой матрицы не пусты.
я добавил в код функцию присвоения всем ячейкам матрицы значения 0, но функция не работает почемуто. До cout'а не доходит.
помогите очистить матрицу любым способом неручным, и желательно в класе. Время поджимает
0
|
05.02.2013, 04:34 | |
05.02.2013, 04:34 | |
Помогаю со студенческими работами здесь
20
Ошибка Run-Time Check Failure #3 - The variable 'chcount' is being used without being initialized. Run-Time Check Failure #3 - The variable 's' is being used without being initialized Run-Time Check Failure #3 - The variable 'v' is being used without being initialized Run-Time Check Failure #3 - The variable 'c' is being used without being initialized Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |