假设我有以下代码。
class Color
{
static Color a;
public:
static Color newColor(int r,int g,int b){
Color color;
color.setR(r);
color.setG(g);
color.setB(b);
return color;
}
}
使用'Color a = Color :: newColor(255,0,0);'初始化静态变量'a'是否正常? 我想我在某处读到使用此方法创建实例将创建该类的两个实例。这样做的正确方法是什么?
答案 0 :(得分:0)
是Color实例化两次
一定要把Color :: a = Color :: newColor(255,0,0);在cpp / cc文件中,意思是不在头文件中。
答案 1 :(得分:0)
尝试尺寸:
struct Color
{
int R, G, B;
};
Color a = {255, 0, 0};