У меня проблема с моим кодом. Я не знаю, почему это считается неправильным. Эта функция должна добавить два номера в систему гекса. Я сохраняю номера в динамических массивах распределения.Динамические массивы распределения, система гекса
CHexNumber CHexNumber::cAdd(CHexNumber *pcOther) {
int i_result_len = 0;
CHexNumber c_result(i_result_len);
int i_result = 0;
int i_memory = 0;
i_result_len = (i_len > pcOther -> i_len ? i_len + 1 : pcOther -> i_len + 1);
c_result.vSetLength(i_result_len);
for (int i = 0; i < c_result.i_len; i++)
{
i_result = pi_number[i] + pcOther->pi_number[i] + i_memory;
if (i_memory > 0)
i_memory--;
if (i_result >= 16)
{
i_result %= 16;
i_memory++;
}
c_result.pi_number[i] = i_result;
}
return(c_result); }
Я добавляю экран с выходом и выходом. http://screenshooter.net/102563004/tumxpyx
Просьба включить конструктор –
Когда вы использовали отладчик и один шаг через ваш код, какой оператор вызывает проблему? Каковы значения переменных в этом выражении? –
[изменить] CHexNumber :: CHexNumber (int iLen) { \t iLen = DEFAULT_LEN; \t vSetNumber (iLen); \t vSetLength (iLen); } – john123