【发布时间】:2009-10-28 15:52:56
【问题描述】:
我的FileReader.cpp 类中有一些解密代码(使用wincrypt.h)。我正在尝试隔离代码并将此解密方法推送到MyCrypt.cpp 类中。然而,在移动它时,我遇到了一堆我以前没有遇到过的错误。对于每个 wincrypt.h 或 windows.h 特定命令,我都会收到“未找到标识符”或“未声明的标识符”。
什么给了!
更多细节..
示例错误:
错误 C2065:“HCRYPTPROV”:未声明 标识符
错误 C3861:“CryptDecrypt”: 找不到标识符
我包括 windows.h 和 wincrypt.h,就像我在 FileReader.cpp 中一样。
#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.cpp #include wincrypt.h 和 windows.h 是否与 FileReader.cpp 相同?
-
在描述中添加了更多细节