اطلاعیه

Collapse
No announcement yet.

مشکل عجیب در تعریف آرایه اشاره گر!!

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل عجیب در تعریف آرایه اشاره گر!!

    سلام دوستان!
    من میخوام یه آرایه اشاره گر به نام pp در فضای flash به صورت زیر تعریف کنم :
    کد:
    flash char *pp[]	= {
      Resp_Prompt_OK, 2, '>',0x0d,
      Resp_Prompt_UE, 2, 'E',0x0d,
      Resp_Prompt_LE, 2, 'e',0x0d,
    
      Resp_Prompt_ND, 3, 'N','D',0x0d,
      Resp_Prompt_CF, 3, 'C','F',0x0d,
      Resp_Prompt_BC, 3, 'B','C',0x0d,
      Resp_Prompt_DF, 3, 'D','F',0x0d,
      Resp_Prompt_FI, 3, 'F','I',0x0d,
      Resp_Prompt_RO, 3, 'R','O',0x0d,
      Resp_Prompt_FO, 3, 'F','O',0x0d,
      Resp_Prompt_NE, 3, 'N','E',0x0d,
      Resp_Prompt_FN, 3, 'F','N',0x0d,
      Resp_Message_NU, 3, 'N','U',0x0d,
    
    	Resp_Message_DD1, 4, 'D','D','1',0x0d,
      Resp_Message_DD2, 4, 'D','D','2',0x0d,
      Resp_Message_DR1, 4, 'D','R','1',0x0d,
      Resp_Message_DR2, 4, 'D','R','2',0x0d,
      0, 0,
    };
    ولی وقتی کامپایل میشه خطای زیر رو میگیره:
    Error: F:\... .c(21), included from: ua.c: [glow=red,2,300]a value of type 'int' can't be used to initialize an entity of type 'flash unsigned char[/glow]

    البته باید بگم که اسامی Resp_Prompt_OK و ... همگی در یک شمارش (enum) به شکل زیر تعریف شدن :
    کد:
    enum Resp {
    
      Resp_Prompt_OK,	
      Resp_Prompt_ND,	
      Resp_Prompt_UE,	
      Resp_Prompt_LE,	
      Resp_Prompt_CF,	
      Resp_Prompt_BC,	
      Resp_Prompt_DF,	
    ...........
      Resp_None = 0xff,
    };

    محیط : کدویژن ورژن 2.5.3

    پیشاپیش ممنون از کمکتون!
    در انتظار تو چشمم سپید گشت و غمی نیست
    اگر قبول تو افتد، فدای چشم سیاهت

    http://upload7.ir/images/83524254953910725183.gif

    #2
    پاسخ : مشکل عجیب در تعریف آرایه اشاره گر!!

    سلام
    enum داده ها رو از چه نوعی تعریف میکنه؟
    یعنی امکانش هست که enum از نوع int تعریف بشه؟
    در اینصورت خب ارورش به جاست دیگه
    1: اللهم صل علی محمد و آل محمد و عجل فرجهم و ...
    2: دانش بهتره یا ثروت؟ بدون شعور هیچکدوم!
    3: دلا معاش چنان کن که گر بلغزد پای *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

    دیدگاه


      #3
      پاسخ : مشکل عجیب در تعریف آرایه اشاره گر!!

      enum از جنس int هست و شما نمیتونید در آرایه از جنس char قرار بدهید
      امام علی (علیه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

      دیدگاه


        #4
        پاسخ : مشکل عجیب در تعریف آرایه اشاره گر!!

        نوشته اصلی توسط Abbas Sarami
        enum از جنس int هست و شما نمیتونید در آرایه از جنس char قرار بدهید
        سلام!
        اما وقتی که اون رو در آرایه از جنس int هم قرار میدم ، بازم همیت خطا رو میده!!! :angry:
        a value of type 'int' can't be used to initialize an entity of type [glow=red,2,300]'flash int*[/glow] q
        در انتظار تو چشمم سپید گشت و غمی نیست
        اگر قبول تو افتد، فدای چشم سیاهت

        http://upload7.ir/images/83524254953910725183.gif

        دیدگاه


          #5
          پاسخ : مشکل عجیب در تعریف آرایه اشاره گر!!

          کدت رو اینجوری بنویس :
          کد:
          enum Resp {
          
            Resp_Prompt_OK,  
            Resp_Prompt_ND,  
            Resp_Prompt_UE,  
            Resp_Prompt_LE,  
            Resp_Prompt_CF,  
            Resp_Prompt_BC,  
            Resp_Prompt_DF,  
            Resp_None = 0xff
          };
          flash int pp[10][4]	= {
            Resp_Prompt_OK, 2, '>',0x0d,
            Resp_Prompt_UE, 2, 'E',0x0d,
            Resp_Prompt_LE, 2, 'e',0x0d,
          
            Resp_Prompt_ND, 3, 'N','D',0x0d,
            Resp_Prompt_CF, 3, 'C','F',0x0d,
            Resp_Prompt_BC, 3, 'B','C',0x0d,
            Resp_Prompt_DF, 3, 'D','F',0x0d
          };

          دیدگاه

          لطفا صبر کنید...
          X