错误 C2143 语法错误: 缺少“;”(在“{”的前面)

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图
#include 
#include 
#include 

typedef unsigned int uint32;
uint32 seed_temp_level1 = 0;
uint32 key_temp_level1 = 0;
uint32 seed_temp_level2 = 0;
uint32 key_temp_level2 = 0;
int seed[4];
char key[4];
char k[4];

uint32 OBDII_ComputeKey_Function1((uint32)seed_temp_level1)
{
    uint32 seedtemp1 = seed;
    uint32 seedtemp2 = ~seed;
    uint32 sum = 0, delta = 0x0ab16000;
    k[0] = 0x4c495551;
    k[1] = 0x49534545;
    k[2] = 0x444b4559;
    k[3] = 0x414c474f;
    for (int i = 0;i < 2;i++)
    {
        seedtemp1 += (((seedtemp2 << 4) ^ (seedtemp2 >> 5)) + seedtemp2) ^ (sum + k[sum & 3]);
        sum += delta;
        seedtemp2 += (((seedtemp1 << 4) ^ (seedtemp1 >> 5)) + seedtemp1) ^ (sum + k[(sum >> 11) & 3]);
    }

    key = seedtemp1;
    return key;
}

void main() {
    for (int i = 0;i < 4;i++) scanf("%x", &seed[i]);
    seed_temp_level1 = (seed[3]) + (seed[2] * 256) + (seed[1] * 65536) + (seed[0] * 16777216);
    key_temp_level1 = OBDII_ComputeKey_Function1(seed_temp_level1);
    key[0] = (key_temp_level1 >> 24) & 0xFF;
    key[1] = (key_temp_level1 >> 16) & 0xFF;
    key[2] = (key_temp_level1 >> 8) & 0xFF;
    key[3] = (key_temp_level1) & 0xFF;
}



我的解答思路和尝试过的方法

格式已经用notepad刷过,还是有问题

14行 uint32 OBDII_ComputeKey_Function1((uint32)seed_temp_level1)
改为
uint32 OBDII_ComputeKey_Function1(uint32 seed_temp_level1)
函数定义中是声明变量类型,你写成强制转换了

前面3行,光有#include ,后面没内容,是要干点啥

阿斯顿发生

不知道为什么没有复制进去

key既然是全局变量,为什么还要在函数里return?多此一举。