سوال : error در گرفتن کلید های جهت نما به عنوان ورودی

za.mk

کاربر تازه وارد
تازه وارد
#1
سلام
برنامه ای نوشتم که در یکی از توابع کلاسی به نام Guss میخوام کلید های جهت نما را به عنوان ورودی از کاربر دریافت کنم برای این کار از اعداد ascii کلید های جهت نما استفاده کردم. ولی برنامه این ارور رو میده
کد:
'dir' cannot appear in constant expression
وقتی همین برنامه رو در یک پروژه جداگانه بدون کلاس اجرا می کنم بدون هیچ مشکلی اجرا میشه
لطفا راهنمایی کنید مشکل کجاست؟
این کد تابع و include های قبلش هست:
کد:
#include "Guss.h"
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define KEY_UP 72
#define KEY_DOWN 80
#define KEY_LEFT 75
#define KEY_RIGHT 77
using namespace std;
string Guss::getAnswer()
{
    cout<<"Enter your next guss (up,down,left or right): ";
    int dir=0;
    switch((dir=getch())
    {
    case KEY_UP:
        return "up";
        cout<<" \"Up\" "<<endl();
        break;
    case KEY_DOWN:
        return "down";
        cout<<" \"Down\" "<<endl();
        break;
    case KEY_LEFT:
        return "left";
        cout<<" \"Left\" "<<endl();
        break;
    case KEY_RIGHT:
        return "right";
        cout<<" \"Right\" "<<endl();
        break;
    default:
        cout<<"some error occurred!!!";
    }
}
 
آخرین ویرایش:
بالا