gpt4 book ai didi

c++ - 使用类 static const 整数初始化二维数组

转载 作者:行者123 更新时间:2023-12-03 07:31:01 31 4
gpt4 key购买 nike

我将一个三维数组声明为类成员,并使用静态 const 类成员作为前两个边界:

class A
{
static const uint8_t screenWidth = 256;
static const uint8_t screenHeight = 240;

uint8_t buffer[screenHeight][screenWidth ][3];
}

在 Visual Studio 2019 中,我收到以下(奇怪?)错误:

Error (active)  E0098   an array may not have elements of this type

如果我诉诸“enum hack”来声明类本地编译时整数常量,它会起作用:

class A
{
enum { SH = 240, SW = 256};
uint8_t buffer[SH][SW][3];
}

前一个示例不应该是符合 C++11 的代码吗? (我猜 Visual Studio 2019 编译器是)。

最佳答案

我认为 uint8_t 类型的对象无法包含值 256。:)

为什么不直接使用 size_t 类型而不是 uint8_t 类型?

static const size_t screenWidth = 256;
static const size_t screenHeight = 240;

关于c++ - 使用类 static const 整数初始化二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60544870/

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