Я новичок в C++, и я пытаюсь сделать калькулятор. Я разработал эту функцию с целью получения факториала целого ряда:EXC_BAD_ACCESS в простой программе C++ XCODE
int factorial(int num1) {
int sum;
if (num1 == 1) {
sum = 1;
}
else {
sum = factorial((num1 - 1) * num1);
}
return sum;
}
Всякий раз, когда я пытаюсь скомпилировать это, однако, я получаю EXC_BAD_ACCESS ошибки на
int factorial(int num1)
Любая идея, что происходит? Я использую XCODE.
Я сомневаюсь, что сбой компилятора, вместо этого я думаю, что это ваша программа, которая падает при попытке запустить ее. Но мы не можем сказать много, если у нас нет [минимального, полного и проверяемого примера] (http://stackoverflow.com/help/mcve). Измените свой вопрос, чтобы включить это, самое главное, как вы * вызываете * функцию (не объявляете ее). И если вы читаете ввод, то также включаете фактический ввод, который вы даете. Или попробуйте решить эту проблему самостоятельно, запустив программу в отладчике. –
Однако, если вы проходите, например. '2' в функцию, вы будете иметь * бесконечную рекурсию *. Вы можете использовать отладчик, чтобы узнать, почему. –