提问人:GameHog 提问时间:5/18/2015 最后编辑:CommunityGameHog 更新时间:5/18/2015 访问量:432
未解析的外部符号“private: static float ObjectInfo::Rotation [duplicate]
unresolved external symbol "private: static float ObjectInfo::Rotation [duplicate]
问:
#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:未解析的外部符号“private: static float ObjectInfo::Rotation”(?Rotation@ObjectInfo@@0MA)
错误 2 错误 LNK1120:1 个未解决的外部问题
这是我制作的原型,我不知道如何解决该错误。
有没有人知道是什么原因导致这个错误?
如果我尝试返回该值然后关闭该值,我会得到同样的错误。
有谁知道从类中检索值的替代解决方案?
答:
0赞
vsoftco
5/18/2015
#1
您需要为静态成员分配存储,需要
float ObjectInfo::Rotation;
在类定义之外。
评论
0赞
GameHog
5/18/2015
谢谢分配,这不是 c++ 中最明显的事情。感谢您的帮助。
评论