gpt4 book ai didi

c++ - 错误 C2227 : left of '->yr' must point to class/struct/union/generic type

转载 作者:行者123 更新时间:2023-11-28 01:18:14 25 4
gpt4 key购买 nike

我正在为 WinCE 编写加密/解密程序。

当我编译程序时,出现如下错误:错误 C2227:'->yr' 的左侧必须指向类/结构/union/泛型类型

这个片段是:

void ai(struct AES_ctx* ctx, const uint8_t* key)
{
k(ctx->yr, key);
}

和相应的标题片段:

#define AES_BLOCKLEN 16
#define AES_KEYLEN 32
#define AES_keyExpSize 240

struct AES_ctx
{
uint8_t yr[AES_keyExpSize];
uint8_t Iv[AES_BLOCKLEN];
};

void ai(struct AES_ctx* ctx, const uint8_t* key);

使用 StandardSDK_500 ARMv4I 编译器工作正常,但使用 MIPSII 我明白了。

有人可以帮助解决这个错误吗?

最佳答案

您的代码没有任何问题:编译正常。

(如果 ctx 是一个宏,在某些 #included 头文件中定义,则此代码可能会产生各种错误,包括您报告的错误,以及这可能取决于编译器;用 #ifdef ctx ...) 测试

您可能想要运行预处理器(通常使用选项 -E)并查看生成的代码。

(顺便说一句,在 C++ 中这看起来更像

namespace AES {
constexpr int blocklen=16;
constexpr int keylen=32;
constexpr int keyExpSize=240;

struct ctx {
std::uint8_t yr[keyExpSize];
std::uint8_t Iv[blocklen];
};
// etc
}

即没有宏,没有全局命名空间的污染。)

关于c++ - 错误 C2227 : left of '->yr' must point to class/struct/union/generic type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57860926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com