【发布时间】:2014-09-24 19:24:37
【问题描述】:
我一直在尝试使用 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' 关键字的情况下重新创建它?
【问题讨论】:
-
该错误意味着
SSLv23_client_method正在返回const SSL_METHOD *... -
所以我只需要将指针声明为 const。特维姆!!工作!
标签: c pointers struct openssl constants