Как преодолеть проблему Run-Time Check Failure # 0? - PullRequest
0 голосов
/ 04 марта 2020

Я новичок в кодировании и не знаю, как решить эту проблему. Я получаю сообщение: «Ошибка проверки времени выполнения # 0 - значение ESP не было должным образом сохранено при вызове функции. Обычно это является результатом вызова функции, объявленной с одним соглашением о вызовах, с указателем функции, объявленным с другим вызовом конвенция «.

Это задание должно было помочь нам заполучить китайского зодиака c. Вот мой код, это, вероятно, не правильно:

 #include <iostream>
#include <assert.h>
using namespace std;



sign getZNum(int day, int month, int year)
{
    int animalnum;
    enum sign { rat = 0, ox, tiger, rabbit, dragon, snake, horse, goat, monkey, rooster, dog, pig };
    sign animal;

    //figuring out if before or after feb so that I can make sure to bump down the year to the previous year 
    bool beforeFeb2;
    beforeFeb2 = false;
    if (!month > 2) {
        if (month != 2 || (month == 2 && day == 1)) {
            beforeFeb2 = true;
        }

    }
    // The first date is Feb 2, 1924.

    //calculating animalnum
    animalnum = ((year + beforeFeb2) - 1924) % 13;

    //assigning the animal based on animalnum
    switch (animalnum)
    {
    case 0:
        animal = rat;
        break;
    case 1:
        animal = ox;
        break;
    case 2:
        animal = tiger;
        break;
    case 3:
        animal = ox;
        break;
    case 4:
        break;
        animal = rabbit;
        break;
    case 5:
        animal = dragon;
        break;
    case 6:
        animal = snake;
        break;
    case 7:
        animal = horse;
        break;
    case 8:
        animal = goat;
        break;
    case 9:
        animal = monkey;
        break;
    case 10:
        animal = rooster;
        break;
    case 11:
        animal = dog;
        break;
    case 12:
        animal = pig;
        break;
    default: // code to be executed if n doesn't match any cases
        animal = rat;
    }
    cout<< animal;
   return animal;
}

//int getZNum(int, int , int ); 
int main() {

    getZNum(28, 10, 2001);
    return 0;
}

Любая помощь будет оценена!

...