我在c ++项目中工作,我必须使用<的OpenSSL / sha.h>我特别使用SHA1功能。我的问题是,函数接收unsigned char [],我需要将处理后的参数作为参数传递给程序:
int main(int argc, char* argv[])
{
unsigned char message[] = argv[1];
/* program continues using message */
}
我得到的错误如下:
error: array initializer must be an initializer list or string literal
const unsigned char message[] = argv[1];
^
因此,我没有适当地投射“'消息”中的参数输入。变量,以适当调用SHA1函数。
谢谢!
答案 0 :(得分:2)
无法从指针初始化数组。您应该使用unsigned char *
代替:
unsigned char *message = reinterpret_cast<unsigned char *>(argv[1]);