gpt4 book ai didi

c++ - 在 typedef 中使用 const int 类成员?

转载 作者:行者123 更新时间:2023-11-27 22:51:57 25 4
gpt4 key购买 nike

我在用 C++11 编译时有这个:

class A{
const uint32_t X = 5;
typedef std::array<B, X> ARRAY;

};

然后我收到错误信息

Invalid use of non-static data member.

我不想让它成为静态的,因为我因此有一些动态链接问题,我不想使用初始化列表,因为我希望这些“魔数(Magic Number)”非常清楚标题。

最佳答案

非常的老式做法是#DEFINE X 5;代码审查 session 。

执行此操作的相当老式的方法是使用 enum {X = 5}; 在我看来,这是 C++11 之前最好的方法。

执行此操作的现代方法是使用static constexpr uint32_t X = 5;

所有这些方法都确保 X编译时可评估的。

关于c++ - 在 typedef 中使用 const int 类成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36406424/

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