MailRuChamps / raic-2018

Russian AI Cup — artificial intelligence programming contest. Official website: http://russianaicup.ru
43 stars 32 forks source link

Недоступна константа в C++ #98

Closed abzalovim closed 5 years ago

abzalovim commented 5 years ago

Попробовал отослать свою стратегию. Получил ошибку компиляции на сервере: ./MyStrategy.cpp:23:27: error: 'ROBOT_RADIUS' was not declared in this scope double lr=BALL_RADIUS-ROBOT_RADIUS; ./MyStrategy.cpp:23:27: note: suggested alternative: 'ROBOT_MAX_RADIUS' double lr=BALL_RADIUS-ROBOT_RADIUS;

Вроде бы в документации везде эта константа указана. Константу ROBOT_MAX_RADIUS - компилятор увидел, значит константы подтянулись. Но куда делось ROBOT_RADIUS ?

neurocore commented 5 years ago

Так они же в объекте Rules передаются при каждом вызове MyStrategy::act

abzalovim commented 5 years ago

Так они же в объекте Rules передаются при каждом вызове MyStrategy::act

Вот именно! И локально все нормально компилируется. Но, почему-то, на сервере при отсылке попытки у меня выдало ошибку компиляции.

neurocore commented 5 years ago

А где вы считаете это double lr=BALL_RADIUS-ROBOT_RADIUS; не нужно ли указывать rules.BALL_RADIUS и rules.ROBOT_RADIUS?

abzalovim commented 5 years ago

Вы совершенно правы! Я взял тестовый пример отсюда: https://github.com/MailRuChamps/raic/blob/master/QUICKSTARTS/%D1%81%2B%2B/StarterC%2B%2B.cpp А там, оказывается, эти константы в *.h прописаны. Через rules подключаются константы правильно. Спасибо!