推荐回答
一日遇到C2059错误,google搜索发现C2059的错误表现有多种。这里整理一些以及自己遇到的情况,供大家借鉴解决。第一种:intmain{}它会引起C2059错误,错误信息:errorC2059:syntaxerror:第二种:#include#defineTESTintmainintargc,char*argv{#ifdefTESTprintfTESTdefined%d,TEST;#elseprintfTESTnotdefined;#endifreturn0;}它也会引起C2059错误,错误信息:errorC2059:syntaxerror:另外一种:structag_type{inta;floatb;};voidfuncag_typearg={5,7.0};它也会引起C2059错误,错误信息:errorC2059:syntaxerror:还会附带errorC2143:。第三种,也是本人遇到的,刚开始,比较怪异,现象:1使用openssl库,在另一个工程里,ok,没问题。2在出问题工程里,不在.h文件出现#include*.h>,ok,正常。3在出问题工程里,在.h文件出现#include*.h>立即出现C2059错误。此时,在openssl路径配置正确情况下,在某一.h文件只写入#includepkcs12.h>会出现errorC2059:syntaxerror:constant错误。解决:经仔细研究,对比,试验,发现,openssl的头文件有顺序之分。加入下面句子,即正常。includebuffer.h>#includeerr.h>#includerand.h>#includeconf.h>#includebio.h>#includeobjects.h>#includeasn1.h>#includepem.h>#includeevp.h>#includex509.h>#includex509v3.h>#includepkcs12.h>根据经验,这是一例头文件互耦比较严重的问题,遇到此种情况,需调整.h文件出现序列即可解决此类C2059问题。
米天明2019-11-03 14:36:18
提示您:回答为网友贡献,仅供参考。