非静态或const数组语法

时间:2011-10-16 10:38:13

标签: c++

这种语法出了什么问题?抱歉新手问题。

源:

Level::Level()
{

    NintyDegreeDirections[4] =  
    { 
        1.0f, 1.4f, 2.4f, 0.1f
    }

...rest of class

头:

//all necessary includes

class Level
{
private:

    float NintyDegreeDirections[4];

...rest of header

如何将数组作为实例成员?我正在转换C#

2 个答案:

答案 0 :(得分:2)

在当前版本的C ++(C ++ 11)中,您可以像这样初始化成员数组:

Level::Level()
 : NintyDegreeDirections( { 1.0f, 1.4f, 2.4f, 0.1f } )
{
}

C ++ 11并非普遍支持,如果您在编译器中不支持此功能,则必须依次为每个成员分配。

E.g:

NintyDegreeDirections[0] = 1.0f;
NintyDegreeDirections[1] = 1.4f;
//...

答案 1 :(得分:1)

你有没有尝试过:

NintyDegreeDirections[0] = 1.0f;
NintyDegreeDirections[1] = 1.4f;
/* ... */