У меня есть следующий код «»:каст: ожидается, первичное выражение, прежде чем маркер
class SSLHashSHA1
{
SSLHashSHA1();
~SSLHashSHA1();
public:
static OSStatus update(string*, int*);
static OSStatus final (string*, string*);
};
OSStatus SSLHashSHA1::update(string* ctx, int* ran){
return 0;
}
OSStatus SSLHashSHA1::final(string* ctx, string* out){
return 0;
}
static OSStatus SSLVerifySignedServerKeyExchange(
SSLContext *ctx, bool isRsa, SSLBuffer signedParams, uint8_t *signature, uint16_t signatureLen)
{
OSStatus err;
if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
goto fail;
if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
goto fail;
goto fail;
if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)
goto fail;
fail:
SSLFreeBuffer(&signedHashes);
SSLFreeBuffer(&hashCtx);
return err;
}
И я получаю сообщение об ошибке, указанное в заголовке. Я получаю это для SSLHashSHA1.update и SSLHashSHA1.final звонков. Почему я это понимаю?
Я думал, что когда я создаю функции класса-члена static, я могу использовать без создания объекта. Или я должен изменить класс на структуру или что-то в этом роде?
записи 'SSLHashSHA1 :: обновление (& hashCtx, и serverRandom)' для вызова статических функций-членов. –