带有数组的C ++构造函数初始化列表

时间:2016-03-02 18:29:24

标签: c++ arrays constructor

我在这里做错了什么?编译器告诉我这是一个语法错误。

class Color {
private:
    float rgba[4];
public:
    Color(float red, float green, float blue, float alpha=1.0):
            this->rgba[0] (red * alpha),
            this->rgba[1] (green*alpha)
            this->rgba[2] (blue*alpha)
    {

    }
};

2 个答案:

答案 0 :(得分:4)

应该是

Color(float red, float green, float blue, float alpha=1.0):
            rgba{red * alpha, green*alpha, blue*alpha, 0}
    {

    }

答案 1 :(得分:0)

您可以使用asigment运算符代替parentetheses:

vertex void non_rasterizing_vertex(device float *writeableBuffer [[ buffer(0) ]],
                                   uint vid [[ vertex_id ]])
{
    writeableBuffer[vid] = 42; // Write away!
}