【发布时间】:2020-11-04 06:40:22
【问题描述】:
在静态函数中返回或访问静态变量会在 Visual Studio 中引发错误:
// H File
class LayoutManager : public QObject
{
static int Access_Data();
static int data;
};
// CPP
static int data= 0; // Global scope
int LayoutManager::Access_Data()
{
data= data+ 1;
return data;
}
Error: Error LNK2001 unresolved external symbol "public: static int LayoutManager::data" (?mm@LayoutManager@@2HA)
在C++中改成int LayoutManager::data = 0后,错误消失了,但是在另一个类中给data赋值时,又抛出了一个新的错误:
void MyLayout::Update( void )
{
LayoutManager::data = 1; // error here
【问题讨论】:
-
请不要在您的问题中编辑答案,如果答案没有解决您的问题,请在答案中添加评论。如果您有新问题,请提出新问题
标签: c++ visual-c++ static c++14