Я новичок в кодировании и не знаю, как решить эту проблему. Я получаю сообщение: «Ошибка проверки времени выполнения # 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;
}
Любая помощь будет оценена!