gpt4 book ai didi

c++ - 在 C++ 中创建自定义类的多个实例

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

基本上就是标题所说的。我有一个带有此构造函数的自定义命名类 Color:

Color(component_t r, component_t g, component_t b) : r(r), g(g), b(b) {

}

我正在处理的类“Image”已经有一个 protected 值:Color* buffer我试图用来自另一个 float* 数组的数据用 Color 类的实例填充这个缓冲区。这是我的代码:

    Color* buffer = new Color[width*height];

float* r = new float[width*height];
float* g = new float[width*height];
float* b = new float[width*height];

int i = 0;

do {
r[i] = buff[i];
i++;
g[i] = buff[i];
i++;
b[i] = buff[i];
i++;
} while (i < width*height);

for (int k = 0; k < width*height; k++) {


buffer[k] = new Color(r[k], g[k], b[k]);
}

然而,在 for 循环内的 'buffer[k]=new Color(r[k],g[k],b[k])' 行中,它给出了 'no operator'="匹配这些操作数,操作数类型有:Color=Color*'

我做错了什么?

最佳答案

你已经在这里创建了所有的Color:

Color* buffer = new Color[width*height];

只需更改buffer 成员的值即可

buffer[k] = Color(r[k], g[k], b[k]);

无需分配新的Color,您之前已经这样做了。

关于c++ - 在 C++ 中创建自定义类的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47513680/

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