c语言 问题error C2059: syntax error : 'constant'
开头定义N2,M1的时候是正常的,想改两个数字就不对了。。。#defineN10#defineM5出来:c:\programfiles(x86)\microsoftvis...
开头定义 N 2,M 1的时候是正常的,想改两个数字就不对了。。。
#define N 10
#define M 5
出来:c:\program files (x86)\microsoft visual studio\vc98\include\winnt.h(5441) : error C2059: syntax error : 'constant'
c:\program files (x86)\microsoft visual studio\vc98\include\winnt.h(5441) : error C2238: unexpected token(s) preceding ';'
定位后出来的东西看不懂。。。T.T
在一个WINNT.H里:
typedef struct _IMAGE_SYMBOL {
union {
BYTE ShortName[8];
struct {
DWORD Short; // if 0, use LongName
DWORD Long; // offset into string table
} Name;
PBYTE LongName[2];
} N; (定位在这里。。。。这是什么啊。。。T.T)
DWORD Value;
SHORT SectionNumber;
WORD Type;
BYTE StorageClass;
BYTE NumberOfAuxSymbols;
} IMAGE_SYMBOL;
typedef IMAGE_SYMBOL UNALIGNED *PIMAGE_SYMBOL; 展开
#define N 10
#define M 5
出来:c:\program files (x86)\microsoft visual studio\vc98\include\winnt.h(5441) : error C2059: syntax error : 'constant'
c:\program files (x86)\microsoft visual studio\vc98\include\winnt.h(5441) : error C2238: unexpected token(s) preceding ';'
定位后出来的东西看不懂。。。T.T
在一个WINNT.H里:
typedef struct _IMAGE_SYMBOL {
union {
BYTE ShortName[8];
struct {
DWORD Short; // if 0, use LongName
DWORD Long; // offset into string table
} Name;
PBYTE LongName[2];
} N; (定位在这里。。。。这是什么啊。。。T.T)
DWORD Value;
SHORT SectionNumber;
WORD Type;
BYTE StorageClass;
BYTE NumberOfAuxSymbols;
} IMAGE_SYMBOL;
typedef IMAGE_SYMBOL UNALIGNED *PIMAGE_SYMBOL; 展开
2个回答
展开全部
解决方法是把你的
#define N 10
这句话放在所有包含头文件include语句的下面的位置
也可以建议你不要用宏
const int N=10;
这样也可以
你的N是个宏会被替换成10代码变成
typedef struct _IMAGE_SYMBOL {
union {
BYTE ShortName[8];
struct {
DWORD Short; // if 0, use LongName
DWORD Long; // offset into string table
} Name;
PBYTE LongName[2];
} 10; (定位在这里。。。。这是什么啊。。。T.T)
#define N 10
这句话放在所有包含头文件include语句的下面的位置
也可以建议你不要用宏
const int N=10;
这样也可以
你的N是个宏会被替换成10代码变成
typedef struct _IMAGE_SYMBOL {
union {
BYTE ShortName[8];
struct {
DWORD Short; // if 0, use LongName
DWORD Long; // offset into string table
} Name;
PBYTE LongName[2];
} 10; (定位在这里。。。。这是什么啊。。。T.T)
更多追问追答
追问
没懂,,define本来就是放在include下面的
追答
那就改个名字 不要define N
改成#define N1 10
你的发生冲突了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询