我在我的wincrypt.h类中有一些解密代码(使用FileReader.cpp)。我正在尝试分离代码并将此解密方法推送到MyCrypt.cpp类中。但是,在移动它时,我会遇到很多以前从未遇到过的错误。对于每个wincrypt.hwindows.h特定命令,我收到“找不到标识符”或“未声明的标识符”。

是什么赋予了!

更多细节..

错误样例:


  错误C2065:“ HCRYPTPROV”:未声明
  识别码
  
  错误C3861:'CryptDecrypt':
  找不到标识符


就像在FileReader.cpp中一样,我包含windows.h和wincrypt.h。

#include "MyCrypt.h"
#include <windows.h>
#include <wincrypt.h>


MyCrypt.h定义为:

#pragma once

class MyCrypt
{
public:
    static char *DecryptMyFile(char *input, char *password, int size, int originalSize) ;

private:
    static const DWORD KEY_LENGTH = 128;
}


如果重新排列包含文件,则会收到以下错误:


  错误C2628:“ MyCrypt”后跟
  “ char”是非法的(您是否忘记了
  ';'?)错误C2556:'MyCrypt
  * MyCrypt :: DecryptMyFile(char *,char *,int,int)':重载函数仅与'char的返回类型不同
  * MyCrypt :: DecryptMyFile(char *,char *,int,int)


但是在我的代码中没有任何地方使用它所说的重新定义。

最佳答案

检查MyCrypt.h并确保右括号后有一个;。我错过了一些非常奇怪的错误消息。在您发布的示例中缺少它。

10-04 13:00