vc编译中的报错syntax error : 'constant'

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vc编译中的报错syntax error : 'constant'相关的知识,希望对你有一定的参考价值。

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#include "protocol.h"
#include "datalink.h"

#define DATA_TIMER 2000
#define MAX_SEQ 7

//PKT_LEN只是数据长度, packet也只含数据部分,数据链路层加上三个帧头信息,物理层加上4CRC

typedef enumfalse,trueboolean;
typedef unsigned int seq_nr;
typedef struct unsigned char data[PKT_LEN];packet; //packet buffer[]:相当于二维数组
//typedef enumdata,ack,nakframe_kind;

struct FRAME
packet info;
unsigned char kind; /* FRAME_DATA */
unsigned char ack;
unsigned char seq;
// unsigned char data[PKT_LEN];
unsigned int padding; //位填充
;

static unsigned char frame_nr = 0;
//static unsigned char frame_expected = 0;
static int phl_ready = 0;

static boolean between(seq_nr a,seq_nr b,seq_nr c)

if(((a<=b)&&(b<c))||((c<a)&&(a<=b))||((b<c)&&(c<a)))
return(true);
else
return(false);


static void put_frame(unsigned char *frame, int len)

*(unsigned int *)(frame + len) = crc32(frame, len);
send_frame(frame, len + 4); //向物理层发送
phl_ready = 0;

gogobackn.cpp(13) : error C2059: syntax error : 'constant'
F:\计网试验\gogobackn.cpp(13) : error C2143: syntax error : missing ';' before ''

主要是上述这两个错,希望高手指教一下~~~~13行就是typedef enumfalse,trueboolean; 多谢~~
空格我加了 还是不行

改成.c文件错误更多。。。

missing \';\' before \'\'

这句话的意思是告诉你错误是,在前边少了个;
参考技术A typedef enumfalse,trueboolean; boolean和上面的用空格隔开 参考技术B 你的源文件的扩展名是不是.cpp?改成.c试试

Keil C51编译报错error C141: syntax error

错误代码:

 

1 typedef unsigned char uchar
2 uchar KeyRowColumnScan()
3 {
4     GPIO_KEY = 0x0f;
5     uchar key_value = 0; // 报错行
6     // 省略
7     return key_value;
8 }

 

错误信息:

key_array.c(44): error C141: syntax error near ‘uchar’

错误原因:

由于Keil、ADS等某些遵循老的C标准的编译器,在函数定义的内部,必须把所有的局部静态变量和自动变量都声明/定义了之后,然后才能开始后续的代码书写,否则编译器会报错,将代码更改如下后,编译正确。

1 typedef unsigned char uchar
2 uchar KeyRowColumnScan() 
3 {
4     uchar key_value = 0;  // 必须在函数开始出定义所有变量
5     GPIO_KEY = 0x0f;
6     // 省略
7     return key_value;
8 }

 

以上是关于vc编译中的报错syntax error : 'constant'的主要内容,如果未能解决你的问题,请参考以下文章

VC编译C语言出现syntax error : missing ')' before ';'错误

vcc编译器的报错

Keil C51编译报错error C141: syntax error

安装vcredist_x86,报错提示:Command line option syntax error.Type Command /?for Help

Apache编译安装的时候出现的报错

JSP页面报错:Syntax error, insert "}" to complete MethodBody