gpt4 book ai didi

在 header 中定义并在 cpp 中实现的 C++ 结构

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

当你在另一个类中使用它时,我如何确保我实现的 somecolor 保持他的值(value)?

结构.h

struct Color{
unsigned char r;
unsigned char g;
unsigned char b;
};
Color someColor;
//if i define the color here it says...:
Color someColor = {255,255,255}; //error: data member inializer not allowed

结构.cpp

struct::Color someColor = {255,255,255};

someotherclass.cpp

struct *str = new struct();
str->someColor.r //is not the correct value /not set

最佳答案

您需要在 header 中声明它:

extern Color someColor;

并在 .cpp 文件中定义它:

Color someColor = {255, 255, 255};

旁注,您的语法 struct::Color 极具误导性。它被解析为 struct::Color,在 C++ 术语中,它等同于 ::Color 或只是 Color(除非您在命名空间)。

关于在 header 中定义并在 cpp 中实现的 C++ 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15786902/

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