首页 > 编程知识 正文

c语言c2059错误,以下不正确的c语言标识符是

时间:2023-05-06 06:34:13 阅读:62436 作者:4022

错误c 2059:语法错误:“常量”

为什么会是常数呢?

先看看我的错误在哪里,*X509_NAME directoryName; 并指示X509_NAME指定常量。

如何找到这个宏的定义? 在WryCrypt.h上

图像

1 .但是,问句中是否包含此头文件?

宏的定义如下。

#definex509_name((lpcstr )7) ) )。

2 .发生错误的文件为x509v3.h

图像

此文件包含#include文件。 进入此文件,

图像

包含#include文件,在两个地方我觉得很有趣。

#ifdef OPENSSL_SYS_WIN32

#undef X509_NAME

#undef X509_EXTENSIONS

#undef X509_CERT_PAIR

#undef PKCS7_ISSUER_AND_SERIAL

#undef OCSP_REQUEST

#undef OCSP_RESPONSE

#endif

typedefstructx 509 _ name _ ST x509 _ name;

在我的理解中,我首先取消了一些宏观定义。 这里只关心一个叫X509_NAME的宏定义。 此宏定义已取消。 然后将struct X509_name_st定义为X509_NAME。 也就是说,X509_NAME当前表示结构。

在包含的x509.h中,取消了X509_NAME宏的定义,如图3所示。 那么,X509_NAME应该是空的,没有任何意义,为什么会报告常数错误呢?

c宏定义C2509

共享到:

---------解决办法----------

首先,是否要包括x509 _ name *目录名称定义的头文件?

x509 _ name *目录名称中定义的头文件是什么意思? 是一个叫X509_NAME的结构的定义吗? 如果是这样的话,错误还没有解决。

说如下。

如果A.h中有X509_NAME *directoryName; 这句话。

那么,我保证在其他地方include A.h之前,先include。

b .如果CPP包含x509 _ name *目录名称; 这句话。

必须在那个出现之前的某个地方进行include。

如果你已经这么做了,但还出现问题,请当做我没有说。 我也用分析带推测看不到代码。

---------解决办法----------

遇到同样的问题也有帮助

“每次用/*.*/注释掉不同的部分,然后重新编译,直到具体语法位于错误的位置。 ”

可以解决。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。