有没有办法在函数中初始化一个变量并为下一次函数调用保存它的值?C++:为函数的下一次调用保存变量值
我在qt中进行应用,我有一个功能与信号连接。我希望该函数中的变量在另一个达到其目标后发生变化。下面是该函数的主体:
void objekt::advance(int phase)
{
if(!phase) return;
QPointF location = this->pos();
if (int(location.x())==200 || int(location.x())==-200)
{
smijer=-smijer;
}
setPos(mapToParent(smijer,0));
}
我将smijer变量定义为static int。但是我不知道如何在程序启动时只初始化一次,以及在每次调用函数后如何保持它的新值。
静态变量*只被初始化一次。有什么问题? –
在哪里初始化它?在头文件中?从另一个班级?我尝试从另一个类初始化,但我得到这个错误:objekt.obj:-1:错误:LNK2001:无法解析的外部符号“public:static int objekt :: smijer”(?smijer @ objekt @@ 2HA) – speedyTeh
您可能应该初始化类中的类的静态成员。或者将它移动到另一个类并将值传递给这个类。 – Sergi0