Raylib C++中Color的类型是什么?如何将其作为类成员?
解决Raylib Color作为类成员的问题
直接把
auto换成Color类型即可,Raylib里的WHITE、RED这类颜色常量本质都是Color结构体的实例,类成员声明应该写成:Color cellColor = WHITE;你碰到的
error: non-static data member declared with placeholder 'auto'是因为C标准规定,非静态成员变量不能用auto推导类型(C17及以后仅允许inline static成员使用auto),所以必须显式指定类型。教你自己查找类型的方法:
- 查看Raylib的头文件
raylib.h,里面WHITE的定义是#define WHITE CLITERAL(Color){ 255, 255, 255, 255 },能直接看出类型是Color。 - 用IDE的跳转功能,比如在VSCode、Visual Studio里右键点击
WHITE,选择“转到定义”,就能看到它的底层类型。
- 查看Raylib的头文件
完整的类示例:
#include "raylib.h" class Cell { private: Color cellColor = WHITE; // 正确的声明方式 int x, y; public: void Draw() { DrawRectangle(x, y, 20, 20, cellColor); } };
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

