پرش به محتوای اصلی
حل شده

بررسی علت بروز پیغام خطای « unexpected ';' before » و نحوه ی برطرف کردن آن

تصویر محمدحسین خلیلیمحمدحسین خلیلیپرسیده شده ۱ سال پیش۲۴ بازدید۱ پاسخ
سلام مهندس وقت بخیر با این ارور موقع تمرین مواجهه شدم و نتونستم برطرفش کنم… ظاهرا چیزی که میگه داخل کد رعایت شده ولی بازم این ارور رو میده ارور : snake.c(42): error: unexpected ';' before ')' 42 | if( gameTickCounter > gameTickCounterThreshold ){ کد فایل snake.c : #include "snake.h" uint8_t screen[64]= { 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 }; uint8_t snake[64]= { 24,25,26,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0 }; char snakeHead= 0; char snakeTail= 0; char SnakeColor= RED; char snakeLength = 3; char snakeDirection = down; void moveSnake (void){ my_PutS("hello"); } void gameTick(void){ int static gameTickCounter = 0 ; gameTickCounter++; //اینجا ارور میده if( gameTickCounter > gameTickCounterThreshold ){ gameTickCounter =0; moveSnake(); } screenRender( screen, YELLOW); } کد فایل snake.h : #ifndef __ snake_h__ #define __ snake_h__ #include "stdint.h" #include "DOTMATRIX.h" #include "UART.h" #define left 0 ; #define right 1; #define up 2; #define down 3; #define gameTickCounterThreshold 1000; void gameTick(void); void moveSnake (void); #endif

پاسخ منتخب

تصویر مهراد معینمهراد معیناستاد· ۱ سال پیش
پاسخ منتخب
سلام دوست عزیز، من یکسری مشکل در کد میبینم که اینجا میگم. اونها رو برطرف کنید و مجدد امتحان کنید. در بسیاری از مواقع، اروری که نمایش داده میشه ارور اصلی نیست و مشکل از همون خطی که ارور مشخص میکنه نیست و از جای دیگری هست. در #ifndef __ snake_h__ یک فاصله اضافه بعد از ــ وجود داره که باید برطف بشه همینطور برای خط بعد در #define left 0 ; نباید تهش ; داشته باشه همینطور برای همه define های دیگه به جای int static از static int باید استفاده بشه در void moveSnake (void); یک فاصله اضافه وجود داره
  • تصویر محمدحسین خلیلیمحمدحسین خلیلی· ۱ سال پیش
    سلام مهندس ممنون از پاسخ گویی تون مواردی که گفتید رو برطرف کردم ولی همچنان ارور میده فکر میکنم مشکل از وارنینگ هایی هست که کد داره و من بهشون بی توجهی کردم… تقریبا ۳۰تایی هستن…

پاسخ‌ها (۱)

    پاسخ شما

    برای پاسخ دادن به این سوال وارد شوید.