未解析的外部符号" private:static float ObjectInfo :: Rotation

时间:2015-05-17 20:42:08

标签: c++ class static-members unresolved-external

    #include <iostream>

class ObjectInfo{
private:
    static float Rotation;
public:
    //sets object rotation value
    void SetR(float a){ static float Rotation = a; }
    //print roation value (I think this is where the problem is located)
    void PrintR(){ std::cout << Rotation;}
};

int main()
{
    ObjectInfo Wall;
    //set float var
    float Rotation;
    //Get user set rotation
    std::cin >> Rotation;
    //set wall rotation
    Wall.SetR(Rotation);
    //print wall rotation value
    Wall.PrintR();
    std::cin >> Rotation;
}

错误1错误LNK2001:未解析的外部符号&#34; private:static float ObjectInfo :: Rotation&#34; (?Rotation @ ObjectInfo @@ 0MA)

错误2错误LNK1120:1个未解析的外部

  

这是我制作的原型,我不知道如何解决错误。

     

有人知道可能导致此错误的原因吗?

     

如果我尝试返回该值然后couting该值,我会得到同样的错误。

     

有没有人知道从类中撤回价值的改变解决方案?

1 个答案:

答案 0 :(得分:0)

您需要为静态成员分配存储空间,

float ObjectInfo::Rotation;

在课堂定义之外。