gpt4 book ai didi

c++ 在声明中不熟悉使用 ':'

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:10:59 24 4
gpt4 key购买 nike

我很难理解一些现有的代码来更新它。我不熟悉此声明中冒号的使用和程序名称。该程序称为 rbac4xml,它似乎在声明中被调用,然后冒号用于访问 Roles 类型和指针。

void output_keyrings(const std::vector<rbacp4xml:Role:*> &roles, const rbacp4xml::Keys &keys );

我试图在引用书和谷歌中找到这个,但现在很遗憾必须问 :) 感谢您的帮助。

最佳答案

声明

const rbacp4xml::Keys &keys

清楚地表明 rbacp4xml 是一个具有名为 Keys 的成员类型的类。

声明

const std::vector<rbacp4xml:Role:*> &roles
据我所知,

不是有效的 C++。由于 #defines 不允许在内部使用冒号,您可以确定 rbacp4xml:Role: 没有以这种方式重新定义。即使您将 Role 定义为空定义,即

#define Role

不允许您编写 rbacp4xml:Role: 来获取 rbacp4xml::。

所以我强烈怀疑这是一个拼写错误。它可能应该是:

const std::vector<rbacp4xml::Role *> &roles

这意味着您创建一个指针 vector ,每个指针指向一个 rbacp4xml::Role 类型的变量,即 rbacp4xml 类中有一个 typedef 角色。

如果您的代码确实可以通过编译,那么这部分可能会以某种方式被绕过。尝试在声明前加上#error。如果您的代码仍然可以编译,您就会知道它已被绕过。例如,当放在 #ifdef..#endif 中时,它可能会被绕过。

关于c++ 在声明中不熟悉使用 ':',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18689886/

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