数组语法错误

时间:2011-10-16 09:48:54

标签: c++

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

源:

Level::Level()
{

    NintyDegreeDirections[4] =  
    { 
        (float)(2*(Math.PI)), 
        (float)(3*(Math.PI)/2), 
        (float)Math.PI, 
        (float)Math.PI/2 
    }

...rest of class

头:

//all necessary includes

class Level
{
private:

    static const float NintyDegreeDirections[4];

...rest of header

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

1 个答案:

答案 0 :(得分:3)

如果要在源文件中初始化静态类成员,则需要在任何函数体之外执行此操作。您还需要保留定义中的所有类型信息。 E.g。

// In level.cpp, at namespace (global) scope:
const float Level::NintyDegreeDirections[4] =  
{ 
    (float)(2*(Math.PI)), 
    (float)(3*(Math.PI)/2), 
    (float)Math.PI, 
    (float)Math.PI/2 
};

(这假定您已使用适当的成员Math定义了PI名称空间或类。Math不是C ++的原生名称。)