我一直在尝试使用 OpenSSL 来检索安全网页。我有一个成功的程序,但它编译时出现以下警告:
warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
为了理解这个问题,我将代码缩减为以下实现相同警告的代码:
#include <openssl/ssl.h>
int main(void)
{
SSL_METHOD *method;
method = SSLv23_client_method();
}
看起来好像 SSL_METHOD 是一个声明为常量的结构。
有没有办法从声明中删除“const”关键字,从而消除此错误?还是我必须准确找出结构的构成,然后在不使用“const”关键字的情况下重新创建它?
最佳答案
SSL_METHOD 需要一个常量类型:
const SSL_METHOD *method;
编译不会出错。参见 man ssl
示例:
const SSL_METHOD *SSLv2_client_method(void);
Constructor for the SSLv2 SSL_METHOD structure for a dedicated client.
关于c - 试图修复有关 ‘const’ 限定符的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26024864/